日期:2014-05-19  浏览次数:20695 次

讓人崩潰的struts2校驗問題,求指教!
受不了了,也不报什么错,就是提交表单后,不管校验正不正确通不通过,页面总是不跳转,一行字提示"親,不能為空!"
第一次弄這個,一直不能成功,找不出原因,求高手指點小弟!

one.java和one-validate-xml在同一個路徑(包action)下面,全部代碼如下


one.java文件:

package action;

import com.opensymphony.xwork2.ActionSupport;

public class one extends ActionSupport {
/**

*/
private static final long serialVersionUID = 1L;
private String username;
public String getUsename() {
return username;
}
public void setUsename(String username) {
this.username = username;
}
}



one-validate.xml文件


<?xml version="1.0" encoding="GBK"?>
<!-- 指定校验配置文件的DTD信息 -->
<!DOCTYPE validators PUBLIC 
  "-//OpenSymphony Group//XWork Validator 1.0.3//EN"
  "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<!-- 校验文件的根元素 -->
<validators>
<field name="username">
<field-validator type="required">
<message>親,不能為空!</message>
</field-validator>
</field>
</validators>



struts.xml文件


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.extension" value="action,,"></constant>
<package name="struts" extends="struts-default">
  <action name="one" class="action.one">
  <result name="input">/index.jsp</result>
  <result>/indexok.jsp</result>
  </action>
</package>
</struts>



index.jsp文件


<s:form action="one" validate="true">
  <s:textfield name="username" label="字段"></s:textfield>
  <s:submit value="提交"></s:submit>
 </s:form>

indexook.jsp文件

隨意一個

------解决方案--------------------
<s:form action="one" validate="true">
<s:textfield name="username" label="字段"></s:textfield>
<s:submit value="提交"></s:submit>
 </s:form>
这个不要,其他看起来真的没啥问题了,你的get和set方法还是自动生成比较好,没有值的问题肯定就是set方法有问题
------解决方案--------------------
username 请用eclipse自动生成getter何setter