1 Action 类
login.jsp
>Action 类: 能够处理 Struts2 请求的类.
- 属性的名字必须遵守与 JavaBeans 属性名相同的命名规则. 属性的类型可以是任意类型. 从字符串到非字符串(基本数据库类型)之间的数据转换可以自动发生
- 必须有一个不带参的构造器: 通过反射创建实例
- 至少有一个供 struts 在执行这个 action 时调用的方法
- 同一个 Action 类可以包含多个 action 方法.
- Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例, 即 Action 不是单例的, 是线程安全的.
>action VS Action 类 : action代表一个 Struts2 的请求. Action 类: 能够处理 Struts2 请求的类.
>ActionSupport:默认的 Action 类
UserAction.java
<span style="font-size:14px;">package com.ithings.firststep;
import com.opensymphony.xwork2.ActionContext;
import java.util.Map;
/**
*
* @author mlu
*/
public class UserAction {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String login(){
ActionContext actionContext = ActionContext.getContext();
Map<String,Object> sessionMap = actionContext.getSession();
sessionMap.put("username", username);
return "success";
}
public String logout(){
ActionContext actionContext = ActionContext.getContext();
Map<String,Object> sessionMap = actionContext.getSession();
sessionMap.put("username", username);
return "success";
}
}</span><span style="font-size: 18px;">
</span>
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<form action="login.action" method="post">
<input type="text" name="username"></input>
<input type="submit" value="登陆"></input>
</form>
</body>
</html>
login.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>欢迎登陆</h1>${session.username}
<form action="logout.action" method="post">
<input type="hidden" name="username" value="${session.username}"></input>
<input type="submit" value="登出"></input>
</form>
</body>
</html>
logout.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>欢迎下次光临</h1>${session.username}
</body>
</html>
struts.xm
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="stepone" extends="struts-default">
<action name="*" class="com.ithings.firststep.UserAction" method="{1}">
<result name="success">/WEB-INF/pages/{1}.jsp</result>
</action>
</package>
</struts>