struts2 的校验器无论如何都不生效 求大神帮看看啊

q3628581 2014-06-03 12:36:12
SellAction-sell_AddSell-validation.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
<field name="sell">
<field-validator type="visitor">
<param name="context">sell</param>
<param name="appendPrefix">true</param>
<message>销售信息中</message>
</field-validator>
</field>
</validators>

Sell-sell-validation.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>

<field name="employeeId">
<field-validator type="requiredstring">
<message>员工编号不能为空</message>
</field-validator>
</field>

<field name="sellMoney">
<field-validator type="required">
<message> 销售金额不能为空</message>
</field-validator>
<field-validator type="float">
<message> 销售金额输入不正确</message>
</field-validator>
</field>
</validators>

SellAction:
package com.sf.action;
import java.util.List;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.sf.dao.EmployeeDAO;
import com.sf.domain.Employee;
import com.sf.domain.Sell;
import com.sf.dao.SellDAO;
public class SellAction extends ActionSupport{

/**
*
*/
private static final long serialVersionUID = 1L;
private Sell sell;
public Sell getSell() {
return sell;
}
public void setSell(Sell sell) {
this.sell = sell;
}

private String employeeId;
private int sellId;
public int getSellId(){
return sellId;
}

public void setEmployeeId(String employeeId) {
this.employeeId = employeeId;
}

public void setSellId(int sellId) {
this.sellId = sellId;
}



public String getEmployeeId() {
return employeeId;
}
public void setEmplyeeId(String emplyeeId) {
this.employeeId = emplyeeId;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getCurrentPage() {
return currentPage;
}


public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getRecordNumber() {
return recordNumber;
}


public void setRecordNumber(int recordNumber) {
this.recordNumber = recordNumber;
}
private int totalPage;
private int recordNumber;

private int currentPage;


//--------------------------------------------------------------------------------------------------------------------------------------

private SellDAO sellDAO=new SellDAO();

public String AddView() {
return "add_view";
}


public String AddSell() {
/*验证员工编号是否已经存在*/
ActionContext ctx = ActionContext.getContext();
EmployeeDAO employeeDAO=new EmployeeDAO();
Employee employee_db = employeeDAO.GetEmployeeById(sell.getEmployeeId());
if(null == employee_db) {
ctx.put("error", java.net.URLEncoder.encode("你输入的员工编号不存在!"));
return "error";
}
Sell sell_db=SellDAO.GetSellByEmployeeId_Year_Month(sell.getEmployeeId(),sell.getSellYear(),sell.getSellMonth());
if(null != sell_db) {
ctx.put("error", java.net.URLEncoder.encode("该员工当月的销售信息已存在!"));
return "error";
}
try {
sellDAO.AddSell(sell);
ctx.put("message", java.net.URLEncoder.encode("员工销售信息添加成功!"));
return "add_success";
} catch (Exception e) {
e.printStackTrace();
ctx.put("error", java.net.URLEncoder.encode("员工销售信息添加失败!"));
return "error";
}
}

sell_add.jsp:
<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8"%>
<%@ page import="com.sf.dao.SellDAO" %>
<%@ page import="com.sf.domain.Sell" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<HTML><HEAD><TITLE>添加销售信息</TITLE>
<STYLE type=text/css>
BODY {
MARGIN-LEFT: 0px; BACKGROUND-COLOR: #ffffff
}
.STYLE1 {color: #ECE9D8}
.label {font-style.:italic; }
.errorLabel {font-style.:italic; color:red; }
.errorMessage {font-weight:bold; color:red; }
</STYLE>
</HEAD>
<%
String username=(String)session.getAttribute("username");
if(username==null){
response.getWriter().println("<script>top.location.href='" + basePath + "login.jsp';</script>");
}
%>
<BODY>
<s:fielderror cssStyle="color:red" />
<TABLE align="center" height="100%" cellSpacing=0 cellPadding=0 width="80%" border=0>
<TBODY>
<TR>
<TD align="left" vAlign=top ><s:form action="sell/sell_AddSell.action" method="post" name="form1">
<table width='86%' cellspacing='1' cellpadding='3' bgcolor='#CCCCCC' class="tablewidth">


<tr>
<td width=31%>员工编号:</td>
<td width=69%><input name="sell.employeeId" type=text /></td>
</tr>

<tr>
<td>销售月份</td>
<td>
<select name="sell.sellYear">
<script >
var isdate= new Date();
var yearnow=isdate.getFullYear();//获取当前年
for(var i=0;i<5;i++){ var year=yearnow-i; document.write("<option value='"+year+"'>"+year+"年");}
</script>
</select>
<select name="sell.sellMonth">
<script >
for(var month=1;month<13;month++) document.write("<option value='"+month+"'>"+month+"月");
</script>
</select> </td>
</tr>

<tr>
<td>销售金额</td>
<td><input name="sell.sellMoney" type=text /></td>
</tr>



<tr bgcolor='#FFFFFF'>
<td colspan="4" align="center">
<input type='submit' name='button' value='保存' >
  
<input type="reset" value='清空' /> </td>
</tr>
</table>
</s:form>
</TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>


求大神帮看看 改了一晚上都没啥效果 fielderror 始终没信息


...全文
325 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
q3628581 2014-06-03
  • 打赏
  • 举报
回复
引用 2 楼 suciver 的回复:
struts2的校验文件的命名规则是actionClassName-actionName-validation.xml
没错啊 就是这样的
suciver 2014-06-03
  • 打赏
  • 举报
回复
struts2的校验文件的命名规则是actionClassName-actionName-validation.xml
q3628581 2014-06-03
  • 打赏
  • 举报
回复
谁来帮我看看

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧