受不了了,也不报什么错,就是提交表单后,不管校验正不正确通不通过,页面总是不跳转,一行字提示"親,不能為空!"
第一次弄這個,一直不能成功,找不出原因,求高手指點小弟!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文件隨意一個

解决方案 »

  1.   

      <action name="one" class="action.one">
      <result name="input">/index.jsp</result>
      <result>/indexok.jsp</result>
      </action>都没写method=“”写result有什么用
      

  2.   

    一样的啊,刚开始我就是按照一般的action来的,配了个method="Check",one.java有个方法:
    public String Check(){
    return SUCCESS;
    },不过不行!我在网上找了都是现在这样的,所以才换的啊,不过就是不能测试成功..
      

  3.   

    自己看你get和set方法写错了没?setUsename和getUsename你不觉得应该是setUsername和getUsername,页面传过来的值找的是set方法后面的那个,不是你的字段
      

  4.   

    STRUTS2的自带的拦截校验 类似于 JS校验吧(属于前台校验,其实就是在进入指定ACTION的方法前做下拦截进入到 校验的方法里了 不过 没通过校验直接显示在原来JSP页面上) 不过直接显示在当前页面 不做跳转 和之后的其他操作 
    好像是
      

  5.   

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

  6.   

    对了,在把你校验器的<field-validator type="required">改成<field-validator type="requiredstring">
      

  7.   

    username 请用eclipse自动生成getter何setter
      

  8.   

    好吧,我发现问题了,刚回复上面的问题,想想会不会是get和set方法的原因?虽说前面把参数改回了username,不过setUsename和getUsename没加r,后面放着试试的年头加了个r变为setUsername和getUsrename,MGD无语了,结果就没问题了
      

  9.   

    以后参数有改动还是把原来的get和set方法删了重新自动get和set一次......哎淫荡的一天就这样被这个问题get和set过去了.,作为新手一个问题这么久解决,正常吗?
      

  10.   

    非常感谢啊,我也是自动生成的,不过后来多加一个r没把get和set的也加上...
    同时感谢懒羊羊骚年..