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">
注册用户列表 <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>
当前 <s:property value="#request.page" />/<s:property value="#request.maxPage" /> 页
<!-- struts2 标签 获取当前集合的长度 -->
本页 <s:property value="#request.map.size()" /> 条
</td>
</tr>
</table>
</body>
</html>