开发环境:myeclipse5.0+eclipse3.2+jdk5.0+tomcat5.5+struts2+junit3.8(同实战 struts2——Hello World)
项目文件:
1.首先我们为“用户登录”提供一个简单入口
Welcome.jsp:
" rel="stylesheet" type="text/css" />
Commands
- < a href ="
">Register - < a href ="
">Sign On
这里,我们用到的是这句:
">Sign On
暂时先不理会“!input”的具体意义,接着往下看。
2.登录页面
Logon.jsp:
3.接着,编写与之对应的Action类。
com.cleversoft.struts2.demo.Logon.java:
package com.cleversoft.struts2.demo;import com.opensymphony.xwork2.ActionSupport;public class Logon extends ActionSupport {/** *//****/ private static final long serialVersionUID = -9039794122089833258L;public String execute() throws Exception {if (isInvalid(getUsername()))return INPUT;if (isInvalid(getPassword()))return INPUT;return SUCCESS;}private boolean isInvalid(String value) {return (value == null || value.length() == 0);}private String username;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}private String password;public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
需要注意这句:
if (isInvalid(getUsername()))return INPUT;if (isInvalid(getPassword()))return INPUT;return SUCCESS;
如果用户名和密码均不为空的话,返回“success”,响应Menu.jsp页面;否则返回“ input”,响应Logon.jsp页面。(见随后struts.xml中的Action配置)
现在我们可以回想上面出现的“!input”。
4.以上提到返回“input”,那接着看看与之对应的输入校验页面。
Logon-validation.xml:
Username is required Password is required
需要注意的是,命名需要与与其对应的Action类匹配。
5.最后需要进行Action配置。
struts.xml:
class="com.cleversoft.struts2.demo.HelloWorld"> /HelloWorld.jsp /Welcome.jsp /Menu.jsp class="com.cleversoft.struts2.demo.Logon"> Menu /Logon.jsp
其中:
class="com.cleversoft.struts2.demo.Logon"> Menu /Logon.jsp
“method=”{1}””等价于“method=input”,这是通配符式的写法。
6.其他
Menu.jsp:
This feature is under construction.Please try again in the next interation.
7.运行
访问http://localhost:8080/struts2/Welcome.action
运行结果:
登录
输入校验
登录成功
8.本地化输出
首先需要添加资源文件
package.properties:
requiredstring=$/{getText(fieldName)}isrequired.
password=Passw ord
username=UserN ame
接着需要修改Logon-validation.xml和Logon.jsp
Logon-validation.xml:
Logon.jsp:
会得到最大的满足,因为它填补了你的空虚。