(12)简单数据校验:addFieldError

index.jsp:相当于用户登录页面,这里进行简写


  <body>
     简单数据校验<a href="user/user_add!add?name='HAHA'">添加用户</a>
  </body>

struct.xml

<struts>
        <package name="user" namespace="/user" extends="struts-default">


        <action name="user_add" class="com.front.action.UserAction">
           <result>
               /user_add_success.jsp
           </result>

            <result name="error">
               /user_add_error.jsp
           </result>
           </action>
    </package>


</struts>

UserAction

public class UserAction extends ActionSupport {
  //这种接收参数的方式:将传过来的数据(可以是URL数据,或者其他数据),在struct创建对象时,就能付好值,并且已经是转换好的
  //但是要注意设置的私有变量不能随意改名,因为传过来的数据是名称固定的。否则不能正常接收
    private String name;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    public String add(){
        if(name==null||!name.equals("admin")){

            this.addFieldError("name", "name is error");//Add an Action-level error message to this Action. 
            //this.addFieldError("name", "name is too long");用来验证map的值是个数组用的。
            return "error";
        }
        return SUCCESS;
    }



}

user_add_error.jsp

  <font color="red">在WEBRoot下的'property标签中图片对此进行了解释' </font><br/>
      User Add Error!
      <s:fielderror fieldName="name"></s:fielderror><!-- 在后端要取的名称 ,并不常用因为若不对其加样式,struct会自动添加一个默认的
      样式,这是不需要的。所以不常用-->
      <br/>

      <s:property value="errors"/><!--s:property: 用来取Debug中的Value Stack Contents、Stack Context的内容-->
      <!-- 显示{name=[name is error]},用来取属性名对应的属性值,这也是Map类型key=name value=name is error  -->

      <br/>
       <s:property value="errors.name"/><!-- 用来去map中某个键的值 结果为:[name is error] ,它是一个数组 -->

       <br/>
       <s:property value="errors.name[0]"/><!-- 取键为name的值(字符串数组)中的第一个值  结果为:name is error 
         取出的就是一个值,纯数据,可以对其任意加css、html
        -->
      <s:debug></s:debug>  
  </body>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值