现在的位置: 首页 > 综合 > 正文

struts2 学习总结(request,session的使用)

2014年07月15日 ⁄ 综合 ⁄ 共 6748字 ⁄ 字号 评论关闭

struts2里面

1、获取request 对象的方法

HttpServletRequest request ;

request = ServletActionContext.getRequest();// 获取request对象 ;

2、获取session对象,获取session后返回的是Map集合

import java.util.Map;

Map map = ActionContext.getContext().getSession();

action 类里面设置request,session例子

/**
*
*/
package com.struts2.action;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.struts2.domain.TbUser;
import com.struts2.domain.TbUserDAO;
/**
* @author meemei
*
*/

public class LoginAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = -6081534009500680546L;
// 用户名 ;
private String username ;
// 密码 ;
private String password ;
HttpServletRequest request ;
// 查询第page页 ;
private Integer page ;
// 新闻内容 ;
private String contest ;
public HttpServletRequest getRequest() {
   return request;
}
public void setRequest(HttpServletRequest request) {
   this.request = request;
}
public String getUsername() {
   return username;
}
public void setUsername(String username) {
   this.username = username;
}
public String getPassword() {
   return password;
}
public void setPassword(String password) {
   this.password = password;
}
public Integer getPage() {
   return page;
}
public void setPage(Integer page) {
   this.page = page;
}

public String getContest() {
   return contest;
}
public void setContest(String contest) {
   this.contest = contest;
}

/**用户注册 ;
* @return
*/
@SuppressWarnings("unchecked")
public String regedit() {
   TbUserDAO dao = new TbUserDAO() ;
   TbUser user = new TbUser () ;  
   user.setUsername(getUsername());
   user.setPassword(getPassword());
   user.setDate(new Date());
  
   try{
   
    int size = 10 ;
    dao.save(user);   
    List<TbUser> list = dao.findByPage(page, size);
    long maxPage = dao.maxPage(size);
    System.out.println("最大页:"+maxPage);
    List<TbUser> list2 = dao.findByPage((int)maxPage, size);
   request = ServletActionContext.getRequest();// 获取request对象 ;
    request.setAttribute("map", list); //把集合保存的request请求里面;
    request.setAttribute("maxPage", maxPage);//最大页码;
    long max = (maxPage-1)*size+list2.size() ;
    request.setAttribute("max",max );// 最大条数;
   
    request.setAttribute("paeg", page);//当前页;
    System.out.println("最大页:"+maxPage+"最大条:"+max);
    return "regedit" ;
   }
   catch (Exception e) {
    // TODO: handle exception
    return "error" ;
   }
   //return "fail" ;
}

/**用户登录 ;
* @return
*/
@SuppressWarnings("unchecked")
public String login(){
   TbUser user = new TbUser() ;
   user.setUsername(username);
   user.setPassword(password);
   System.out.println(username+password);
   TbUserDAO tbUserDAO = new TbUserDAO() ;
   List<TbUser> list = tbUserDAO.findByExample(user);
   System.out.println(list.size());
  
   if ( list != null && list.size() > 0 ){   
   Map map = ActionContext.getContext().getSession();
    map.put("result",list.get(0).getUsername() );
   
    return "login" ;
   
   }
   return "error";
}

/**查询第几页 ;
* @return
*/
@SuppressWarnings("unchecked")
public String page(){
   int size = 10 ; //每页查询的条数 ;
   TbUserDAO dao = new TbUserDAO() ;
    
   List<TbUser> list = dao.findByPage(page, size);
   long maxPage = dao.maxPage(size);
   System.out.println("最大页:"+maxPage);
   List<TbUser> list2 = dao.findByPage((int)maxPage, size);
   request = ServletActionContext.getRequest();// 获取request对象 ;
   request.setAttribute("map", list); //把集合保存的request请求里面;
   request.setAttribute("maxPage", maxPage);//最大页码;
   long max = (maxPage-1)*size+list2.size() ;
   request.setAttribute("max",max );// 最大条数;
   request.setAttribute("paeg", page);//当前页;
   System.out.println("最大页:"+maxPage+"最大条:"+max);
   return "page" ;
}

/**fck 里面提交内容;
* @return
*/
public String contest(){
   System.out.print(contest);
   request = ServletActionContext.getRequest();
   request.setAttribute("contest", contest);
   return "contest" ;
}
}

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
    + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <base href="<%=basePath%>">

   <title>My JSP 'success.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">
-->
   <style type="text/css">
td {
padding: 5px;
text-align: center;
font-size: 13px;
}
.style1{
font-size: 14px;
font-weight: bold;
}
</style>
   <script type="text/javascript">
   function page(){
    var page = document.getElementById("page").value;
   
   }
</script>
</head>

<body>
   <table align="center" border="1" bordercolor="blue">
    <tr style="background: rgb(31,135,288)" >
     <td colspan="4" class="style1">
      注册用户列表 &nbsp; &nbsp; &nbsp;<a href="result.jsp">发布新闻</a>
     </td>
    
    
    </tr>
    <tr style="background: rgb(31,135,288)">
     <td>
      ID
     </td>
     <td>
      用户名
     </td>
     <td>
      密码
     </td>
     <td>
      注册日期
     </td>
    </tr>
    <s:iterator id="user" value="#request.map" status="i">
     <s:if test="#i.odd == true ">
      <!-- 序号为奇数时 该行没有背景色 -->
      <tr onmouseover="this.style.background='blue'"
       onmouseout="this.style.background='white'">
       <td width="30%">
        <s:property value="id" />
       </td>
       <td width="22%">
        <s:property value="username" />
       </td>
       <td width="22%">
        ******
       </td>
       <td width="22%">
       <s:date name="date" format="yyyy-MM-dd HH:mm:ss"/>
       </td>
      </tr>
     </s:if>
     <s:if test="#i.odd == false ">
      <!-- 序号为偶数时 该行有背景色:灰色 -->
      <tr bgcolor="gray" onmouseover="this.style.background='red'"
       onmouseout="this.style.background='rgb(31,135,288)'">
       <td width="30%">
        <s:property value="id" />
       </td>
       <td width="22%">
        <s:property value="username" />
       </td>
       <td width="22%">
        ******
       </td>
       <td width="22%">
        <s:date name="date" format="yyyy-MM-dd HH:mm:ss"/>
       </td>
      </tr>
     </s:if>
    </s:iterator>
    <tr>
     <td align="center" colspan="4">
      共
      <s:property value="#request.maxPage" />
      页 共
      <s:property value="#request.max" />
      条
      <a href="page.action?page=1">第一页</a>
      <!-- c 标签 进行判断 设置上一页 下一页 -->
      <c:if test="${page>1}" >
       <a href="page.action?page=<s:property value="#request.page+1"/>">下一页</a>
      </c:if>
      <c:if test="${page==1}" >
       上一页
      </c:if>
      <c:if test="${page<maxPage}" >
       <a href="page.action?page=<s:property value="#request.page+1"/>">下一页</a>
      </c:if>  
      <c:if test="${page==maxPage}" >
       下一页
      </c:if>
      <a href="page.action?page=<s:property value="#request.maxPage"/>">最后一页</a>
      &nbsp;当前 <s:property value="#request.page" />/<s:property value="#request.maxPage" /> 页
      <!-- struts2 标签 获取当前集合的长度 -->
      &nbsp;本页 <s:property value="#request.map.size()" /> 条
     
     </td>
    </tr>
   </table>
</body>
</html>

抱歉!评论已关闭.