使用注释验证Struts2 Login程序.
本章我们将使用Action类中的注释来验证我们的login程序.我们当前的login程序并未通过数据库来验证用户.相反在Action类中用户名和密码是通过硬编码来验证的(User: Admin and Password: Admin).
程序如何工作 :
1. 显示login页面获取用户输入
2. 用户输入用户名和密码后点击"Login"按钮
3. 在Action类中完成用户验证.如果用户在user name/password字段中输入了Admin/Admin,那么显示成功页面,否则在屏幕上显示错误信息.
创建该程序的步骤
这是使用struts2创建Login页面的简易步骤 :
1.创建Login表单
程序的GUI(图形用户界面)包括login表单(log-in.jsp)和显示成功信息的页面(loginsuccess.jsp).
log-in.jsp用来向用户显示登录页,在我们的程序中它存放"webapps\struts2tutorial\pages\",这是log-in.jsp的代码
Html代码
代码
显示了Action错误段验证错误
代码为程序生成了HTML表单
代码
生成了Login Name和Password字段
submit按钮是由代码生成的
loginsuccess.jsp显示了当用户验证成功后的登录成功信息.这是loginsuccess.jsp的代码
Html代码
2.创建Action类(使用注释来验证表单)
现在让我们创建Action类来处理login请求.Struts2框架提供了一个基础的ActionSupport类来实现常用的接口.在我们的Action类中 (AnnotationAction.java)我们继承了ActionSupport类并引入了com.opensymphony.xwork2.validator.annotations包
为了验证login程序我们可以向jsp页面或Action类中添加java脚本.但是struts2提供了另一种非常简单的方法来验证你的表单域,那就是使用Action类中的注释.
有两个注释是必须的 :
1. @Validation注释告诉Struts这个类的Action可能需要验证
2. @RequiredStringValidator注释用于文本输入以便保持单一值
剩下的则交由框架来处理
我们的"AnnotationAction"保存在"webapps\struts2tutorial\WEB-INF\src\java\net\roseindia"目录,这就是AnnotationAction.java的代码
Action
类:这里我们会编写代码来验证login页面
AnnotationAction.java
Java代码
1.配置Action映射(在struts.xmlz中)
现在我们会在struts.xml文件中创建Action映射,这是要添加到struts.xml文件中的代码 :
Xml代码