Struts2--简单的数据校验
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2--简单的数据校验相关的知识,希望对你有一定的参考价值。
action没有request, response等属性, 无法往前台传信息,
出来一个概念, valuestack: 存放action的属性, 还有各种error等...
<s:property>专门取valuestack和context的属性
jsp显示文件:
使用addFieldError方法和s:fieldError标签简单处理数据校验 <a href="user/user!add?name=a" >添加用户</a>
struts.xml :
<package name="user" extends="struts-default" namespace="/user"> <action name="user" class="com.bjsxt.struts2.user.action.UserAction"> <result>/user_add_success.jsp</result> <result name="error">/user_add_error.jsp</result> </action> </package>
action:
package com.bjsxt.struts2.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"); this.addFieldError("name", "name is too long"); return ERROR; } return SUCCESS; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
user_add_error.jsp如何拿到field error值? 用struts标签
需要在jsp前面加上 <%@taglib uri="/struts-tags" prefix="s" %>
<%@taglib uri="/struts-tags" prefix="s" %>
<body> User Add Error! <s:fielderror fieldName="name" theme="simple"/> <br /> <s:property value="FieldErrors.name[0]"/> <s:debug></s:debug> </body>
以上第一种显示方式会被绑架显示格式, 在显示错误信息之前会显示一个.
第二种方式就可以直接提取出来. <s:property value="FieldErrors.name[0]"/>
以上是关于Struts2--简单的数据校验的主要内容,如果未能解决你的问题,请参考以下文章