Struts 2 简单数据验证

简单数据验证 :

UserAction:

package simpledataviliaction.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 是错误的");
			return ERROR;
		}
		return "success";

	}

	public String getName() {
		return name;
	}

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

}

struts.xml配置:

<action name="user_shujuyanzheng" class="simpledataviliaction.action.UserAction">
			<result name="success">
			   /user_add_success.jsp;
			</result>	
			<result name="error">
		          /user_add_error.jsp;
		        </result>	
</action>

user_add_error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!--导入struts标签库,位于架包的META-INF下的struts--tags.tld-->
<%@taglib uri="/struts-tags" prefix="s" %>

<html>
  <head>
    <base href="<%=basePath%>">
  </head>
  
  <body>
    user add is error <br>
    <!-- 把userAction的addFieldError取出,fieldName对应名字 -->
    <s:fielderror fieldName="name" theme="simple"/>
  </body>
</html>

运行:

http://localhost:8080/struts2_0100_introduction/front/user_shujuyanzheng!add?name=a
name传递的参数不为admin,即跳到error的result,转到对应的user_add_error.jsp,注意:addFieldError方法,jsp导入struts标签库,使用标签(fielderror)跳到校验信息找到参数名与参数值并显示到user_add_error.jsp


修改user_add_error.jsp:

<body>
    user add is error <br>
    <!-- 把userAction的addFieldError取出,fieldName对应名字 -->
    <s:fielderror fieldName="name" theme="simple"/>
    <br/>
    <!-- s:property取value stack里面的值 -->
    <!-- value属性值指向debug里面的Property Name -->
    <s:property value="errors"></s:property>
    <!-- 默认debug链接 -->
    <s:debug>
    </s:debug>
  </body>

浏览器运行后:


注:可以添加多条错误提示信息:

UserAction:
public String add() {
		if (name == null || !name.equals("admin")) {
			// 添加对于属性校验的错误信息:
			this.addFieldError("name", "name 是错误的");
			this.addFieldError("name", "name 命名不规范");
			return ERROR;
		}
		return "success";

	}
运行后:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值