Struts2 使用addFieldError方法和s…

1.index.jsp

<a href="user/user!add?name=a">添加用户</a>     // 用DMI动态方法调用, !add 调用add()方法。

2。use_add_error.jsp

<s:property value="errors.name[0]"/>     //显示标签:显示value stack contents 中,name是errors ,value是name中第一个记录的内容。value在栈中是以数组的方式记录(自己想像)的,[0]是第一个记录,[1]是第二个记录,如果要显示第二个记录,就是<s:proerty value="error.name[1];>
<s:debug></s:debug>                          //常用方式,查看栈stack 的内容,

3.Struts.xml

<package name="user" extends="struts-default" namespace="/user">
        <action name="user" class="cn.vcy168.user.action.UserAction">
            <result>/user_add_success.jsp</result>            //如果UseAction   返回SUCCESS 则显示user_addd_success.jsp      默认为SUCCESS,所以可以不写name="success:

            <result name="error">/user_add_error.jsp</result> //如果UseAction 返回 ERROR 则显示use_add_error.jsp 
        </action>
    </package>

4.UseAction 验证

package cn.vcy168.user.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
private String name;

public String add() {                                          
   if(name == null || !name.equals("admin")) {       
    this.addFieldError("name", "name is error");                 

//addFieldError 记录map格式的内容 key=name value=name is error      后台用addFieldError记录,前台用<s:property value="fiedlErrors">显示 因为fieldErrors与actionErrors 里的key会有重名现象,所以用<s:property value="errors">显示记录的所有内容,用error.name[ ]显示想要的内容。
    this.addFieldError("name", "name is too long");
    return ERROR;                                              
  
   return SUCCESS;
}

public String getName() {
   return name;
}

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


}

因为index.jsp中name=a   UseAction验证返回ERROR,所以点后显示use_add_error.jsp.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值