Struts2 简单的数据校验
程序员文章站
2023-12-22 11:56:04
...
数据校验
判断url传入的参数是否正确,用if语句进行判断,Struts2用addFieldError()给前台传递信息。
public String add(){
if(name==null||!name.equals("admin"))
{
this.addFieldError("name", "name error");
return ERROR;
}
return SUCCESS;
}
addFieldError()方法添加属性校验的错误信息,第一个参数代表属性名,第二个代表错误信息。
错误界面
设置将错误信息显示出来
1.设置Struts2标签库
<%@taglib uri="/struts-tags" prefix="s"%>
2.展现出Action中的错误信息。
<s:fielderror fieldName="name"></s:fielderror>
展现标签中fieldName的值必须和Action中addFieldEerror方法中的属性参数一致。
User_add_error.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
...
<body>
User add Error!
<s:fielderror fieldName="name"></s:fielderror>
<s:property value="errors.name[0]"/>
<s:debug></s:debug>
</body>
</html>
<s:property value=“errors.name[0]”/> 标签专门用来取<s:debug></s:debug>标签中的值栈(Value Stack)和Stack Context。
值栈的内容
<s:property value=“errors.name[0]”/>中errors代表Proerty Name中的值,会取出Property Value存放的时map。
errors.name[0]中的name代表map中的key,会取出key中对应得value数组,errors.name[0]中序号0会取出map中的value数组中下表为1得值。