1、代码
1.1action代码
- package com.god.action;
- import java.util.HashMap;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpSession;
- import org.apache.struts2.ServletActionContext;
- import com.opensymphony.xwork2.ActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- import com.god.mod.*;
- public class LoginAction_2014_4_28 extends ActionSupport {
- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter d;
- private String uname;
- private String upasswd;
- public String getUname() {
- return uname;
- }
- public void setUname(String uname) {
- this.uname = uname;
- }
- public String getUpasswd() {
- return upasswd;
- }
- public void setUpasswd(String upasswd) {
- this.upasswd = upasswd;
- }
- public String execute(){// 类似于servlet的doGet和doPost方法
- if(uname.equals("fang")&&upasswd.equals("123")){
- User_2014_4_29 users=new User_2014_4_29(uname,upasswd);
- /**一般情况键都是不变的,值却不断变化。
- * 第一种方法,sessions其实是假的,它是Map类的。
- Map<String,Object>session =null;//这里value的位置之所以是object是为了可以放类,而不是单单的房一个值。
- session=ActionContext.getContext().getSession();
- session.put("CURRENT_USER",uname);
- session.put("CURRENT_USERS", users);
- */
- //第二种是使用真的session。
- HttpSession session=null;
- HttpServletRequest request=ServletActionContext.getRequest();
- session=request.getSession();
- session.setAttribute("CURRENT_USER", uname);
- session.setAttribute("CURRENT_USERS", users);
- return SUCCESS;
- }else{
- return INPUT;
- }
- }
- }
1.2、User_2014_4_29类
- package com.god.mod;
- public class User_2014_4_29 {
- private String uname;
- private String upasswd;
- public String getUname() {
- return uname;
- }
- public void setUname(String uname) {
- this.uname = uname;
- }
- public String getUpasswd() {
- return upasswd;
- }
- public void setUpasswd(String upasswd) {
- this.upasswd = upasswd;
- }
- public User_2014_4_29(String uname,String upasswd) {
- super();
- this.upasswd = upasswd;
- this.uname = uname;
- }
- }
2.1、2014_4_28_welcome_lx_01.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP '2014_4_28_welcome_lx_01.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body><center>
- <div>
- </div>
- <h3>一个简单的Struts 2应用</h3>
- <br/><hr/>
- ${uname}欢迎您!<br/>
- 读取session1:${sessionScope.CURRENT_USER }<br/>
- 读取session2:${sessionScope.CURRENT_USERS.uname }<br/>
- </center>
- </body>
- </html>
3、成果截图
4、福利
ps:这是为了方便简单了解Map类另外贴的代码
- package com.god.mod;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- public class MapDemo {
- public static void main(String args[]){
- List list=new ArrayList();
- Map<String,String>map =new HashMap<String,String>();
- map.put("sa", "超级管理员A");//第一个值为key,第二个为value
- map.put("sb", "超级管理员B");
- map.put("sc", "超级管理员C");
- map.put("sa", "超级管理员G");//会覆盖
- Set<String> set = map.keySet();
- int a = map.size();
- for(String key:set){
- String s = map.get(key);
- System.out.println(a+s);
- }
- }
- }