SimpleDataValiation 简单的数据校验

在前面几个项目中讲过,怎么去接受一个参数,在我们真正写Java Web程序的时候,我们接受到这个参数之后,一定要检查这个参数符不符合我们的要求,如果不符合我们的要求,我们要反馈回去,要客户重新填写。

1.action类

package com.bjsxt.struts2.user.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
	private String name;
	//add方法判断用户输入的姓名
	public String add() {
		/*登陆不成功的时候,我们该如何向前台传递信息呢?
        这与JSP不同,不能使用request,response往前台传数据,在Struts2里面把成员变量的属性成为field,在struts2里面可以使用addFieldError添加对前台的输出信息
		*/
		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;
	}		
}

2.在JSP页面中该如何获取这些信息呢?

在JSP页面中,我们可以使用Struts2的标签<s:fielderror />来获取提示信息。

注意:一定要在JSP页面引入Struts2的标签:<%@taglib uri="/struts-tags" prefix="s" %>

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body>
	User Add Error!
 这种方法拿出来的“提示”前面会有小圆点,解决方案:直接从Value Stack中取值,这样“提示”前面就没有小圆点了。
	<s:fielderror fieldName="name" theme="simple"/>
	<br />
  如下,就是直接从Value Stack中获取提示信息。
	<s:property value="errors.name[0]"/>
	<s:debug></s:debug>
</body>
</html>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值