struts2学习总结( 使用ActionSupport进行校验)

=       Action类中ActionSupport使用以及validate方法重写实现。

=       属性文件messageResource.properties定义以及JSP页面上错误信息如何显示。

=       导航结果页面演示。

 

public class LoginAction extends ActionSupport {
	//校验方法,用来校验输入值为空或没有输入返回错误信息
	public void validate() {
		if (getUsername() == null || getUsername().trim().equals("")) {
			//返回错误信息键值,user.required包含具体内容见messageResource.properties
			addFieldError("username", getText("user.required"));
		}
		if (getPassword() == null || getPassword().trim().equals("")) {
			//返回错误信息键值,pass.required包含具体内容见messageResource.properties
			addFieldError("password", getText("pass.required"));
		}
	}
}

      其中addFieldError方法和getText方法也是ActionSupport类的方法,只是Action子类是直接调用没有重写它们。addFieldError方法顾名思义就是对JSP页面上Form中某个需要校验的field,如果操作有错误时候如何进行错误信息处理的方法。比如“username”就是JSP页面上这个字段的名字,而“user.required”是错误信息属性文件里定义的

     validate方法一般都是Action类执行execute方法之前执行,这样如果操作失败,就直接返回到struts.xml中定义的“input”指向的URL

 

#支持本地化的资源文件名定义
struts.custom.i18n.resources=messageResource

 

#用key=value格式定义页面上显示的内容
user.required=请输入用户名!
pass.required=请输入密码!

 

<%@ page language="java" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- struts2标签库调用声明 -->
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
	<title>登录页面</title>
</head>
<body>
	<!-- form标签库定义,以及调用哪个Action声明 -->
	<s:form action="Login">
		<table width="60%" height="76" border="0">
				<!-- 各标签定义 -->
				<s:textfield name="username" label="用户名"/>
				<s:password name="password" label="密  码" />
				<s:submit value="登录" align="center"/>				
		</table>
	</s:form>
</body>
</html> 

 

<%@ page language="java" contentType="text/html; charset=GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <title>登录成功</title>
</head>  
<body>
	<!-- 取得session中用户名值 -->
    ${sessionScope.user},欢迎您~~
</body>
</html>

 

你可能感兴趣的:(html,jsp,xml,struts)