o;Invalid user or Password”。
package tutorial;
import com.opensymphony.xwork2.ActionSupport;
publicclass Login extends ActionSupport {
private String name;
private String password;
private String message;
public String getName() {
return name;
}
publicvoid setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
publicvoid setPassword(String password) {
this.password = password;
}
public String getMessage() {
return message;
}
@Override
public String execute() {
if("max".equals(name) &&"Secret".equals(password)) {
message ="Welcome, "+ name;
}else{
message ="Invalid user or password";
}
return SUCCESS;
}
}
Struts 2.0的Action讲解(5)
时间:2011-06-29 BlogJava Max
例4 classes/tutorial/Login.java
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Login</title>
</head>
<body>
<s:form action="Login" method="POST">
<s:textfield name="name" label="User name"/>
<s:password name="password" label="Password"/>
<s:submit value="Submit"/>
</s:form>
</body>
</html>
例4 Login.jsp
<action name="Login" class="tutorial.Login">
<result>/HelloWorld.jsp</result>
</action>
例4 classes/struts.xml中Login Action的配置
运行Tomcat,在浏览器地址栏中键入http://localhost:8080/Struts2_Action/Login.jsp,出现如图4所示页面。
图4 Login.jsp输出页面
Struts 2.0的Action讲解(6)
时间:2011-06-29 BlogJava Max
分别在User name中输入“max”和“secret”,点击“Submit”按钮,出现如图5所示页面。
图5 Login成功页面
在浏览器地址栏中键入http://localhost:8080/Struts2_Action/Login.jsp,分别在User name中输入“Scott”和“password”,点击“Submit”按钮,出现如图6所示页面。
图6 Login失败页面
Struts 2.0更厉害的是支持更高级的POJO访问,如user.getPassword()。我们可以用另一写法实现例4。首先,将name和password从Login类中分离出来,到新建类User中。这样对我们开发多层系统尤其有用。它可以使系统结构更清晰。
package tutorial;
import com.opensymphony.xwork2.ActionSupport;
publicclass LoginX extends ActionSupport {
private User user;
private String message;
publicvoid setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
public String getMessage() {
return message;
}
@Override
public String execute() {
if("max".equals(user.getName()) &&"secret".equals(user.getPassword())) {
message ="Welcome, "+ user.getName();
}else{
|