您的位置:首页 > 其它

(12)简单数据校验:addFieldError

2017-11-07 11:02 239 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: