= 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>
分享到:
相关推荐
struts 2 基础 __继承ActionSupport完成输入校验
Struts2继承ActionSupport例子 这个是我们在上课的时候做的一个小例子,可能其中还掺杂着其他东西,跟我博客是相关联的,如果只看代码看不懂,建议大家去看一下博客。
使用Spring , ActionSupport ,struts1整合实例,一个简单的实例代码
struts1和struts2的区别其实并不是太大,两者的区别: ...Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。
入门级,无声视频,这一集比上一集感觉拍得好多了,找到一些窍门。 对Struts2的标签导入,错误信息显示,ActionSupport类的addFieldError()方法,validate()方法,execute()方法的使用进行了介绍。
3.4 使用ActionSupport进行校验 42 第4章 另一Struts2核心技术:拦截器 47 4.1 拦截器在Struts2中的缺省应用 47 4.2 拦截器原理实现 50 4.3 在Struts2中配置自定义的拦截器 53 4.3.1 扩展拦截器接口的自定义拦截器...
Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts 2的Action。 2 线程模式方面的对比:Struts 1 Action是单例模式并且必须是...
入门级,无声视频,这一集比上一集感觉拍得好多了,找到一些窍门。 对Struts2的标签导入,错误信息显示,ActionSupport类的addFieldError()方法,validate()方法,execute()方法的使用进行了介绍。
NULL 博文链接:https://coderdream.iteye.com/blog/812871
虽然,在理论上Struts2的Action无须实现任何接口或者是继承任何的类,但是,在实际编程过程中,为了更加方便的实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并且重载(Override)此类...
8.1.1 页面上:如何使用自定义结果组件构建Struts 2 Ajax应用程序 171 8.1.2 实现JSON结果类型 173 8.2 常用的结果类型 180 8.2.1 RequestDispatcher,也叫做dispatcher 180 8.2.2 ServletRedirectResult,也叫做...
全面教你如何整合spring,Struts,Hibernate
2、action是一个pojo,所以struts2.0与框架的藕合度非常低。 实现Action时有时会继承于ActionSupport, 覆盖execute方法,从而创建一个Action。 因为ActionSupport提供了很多方法可以为开发提供方便。 3、...
NULL 博文链接:https://carmark.iteye.com/blog/450978
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
1.实现Action 接口 (implements Action) 2.继承ActionSupport类 (extends ActionSupport) 实际上
自定义Action继承ActionSupport实现简单登录,刚开始学习struts2记录一下。
纯Struts2 struts-2.3.16.1版本下的demo,1、Struts2标签 2、Action 3、ActionSupport中validate 4、prepare 5、modeldriven 6、国际化 7、Token 8、拦截器