//表单提交的部分
 <body>
    <s:fielderror/>
    <form action="${pageContext.request.contextPath}/person/manage_update.action" method="post">
      用户名:<input type="text" name="username"><br>
      手机号:<input type="text" name="phone"><br>   
      <input type="submit" value="提交">
    </form>
  </body>//action部分
package com.yt;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class MessageAction  extends ActionSupport{

private static final long serialVersionUID = 1L;
private String username;
private String phone;

public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}

public String update(){
ActionContext.getContext().put("message", "更新成功!");
return "message";
}

public String save(){
ActionContext.getContext().put("message", "保存成功!");
return "message";
}

}
//xml配置部分 MessageAction_validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd"> 
<validators>
    <field name="username">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>用户名不能为空!</message>
        </field-validator>
    </field>
    <field name="phone">
        <field-validator type="requiredstring">
            <message>手机号不能为空!</message>
        </field-validator>
        <field-validator type="regex">
     <param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
     <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="do,action"/>
  <constant name="struts.i18n.encoding" value="UTF-8"/>
  <constant name="struts.multipart.maxSize" value="10701096"/>
  
  <package name="person" namespace="/person" extends="struts-default">
        <action name="manage_*" class="com.yt.MessageAction" method="{1}">
         <result name="input">/index.jsp</result>
         <result name="message">/message.jsp</result>
        </action>
 </package>
</struts>
我的输入为空,提交居然显示相应的更新成功,也就是没有在xml里没有校验,我仔细检查了,不知道原因

解决方案 »

  1.   

    如果是针对Action的验证框架要放到对应Action的包下
      

  2.   


    <body>
      <s:fielderror/>
      <form action="person/manage_update.action" method="post">
      用户名:<input type="text" name="username"><br>
      手机号:<input type="text" name="phone"><br>   
      <input type="submit" value="提交">
      </form>
      </body>改成这样
      

  3.   

    MessageAction_validation.xml改为MessageAction-validation.xml