action如下:
public class Login extends ActionSupport {
private User user;
private IUDao uDao;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public IUDao getUDao() {
return uDao;
}
public void setUDao(IUDao dao) {
uDao = dao;
}
public String execute() throws Exception{
String hql = "from User u where u.Id=? and u.Password=?";
Object[] value = new Object[] { this.user.getId(),this.user.getPassword()};
List<User> i = (List<User>) uDao.find(hql, value);
int x = i.size();
if (x>0)
{
ActionContext context=ActionContext.getContext();
Map session = context.getSession();
session.put("1", user);
return SUCCESS;
}     
else 
return ERROR;
}
转到的下一个页面为:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>发布页面</title>
</head><body>
${sessionScope.1.id}
</body>
</html>

解决方案 »

  1.   

    ${sessionScope.1[0].id} 试试。里面是个数组。1最好改为字母开头的变量。
      

  2.   

    session不是HttpSession类型的吗,怎么成了Map类型。
      

  3.   

    struts2的session request都被封装成了map
      

  4.   

    struts层可以封装为map,但是JSP页面是只认HttpSession session对象的吧。
      

  5.   

    ${sessionScope["1"].id}
    ${sessionScope["1"]["id"]}换着试试。 
      

  6.   

    难道${sessionScope.1[0].id} 等同于
    <%=(((User)(Map)session.getAttribulte("sessionScope")).get("1")).getId()%>
      

  7.   

    ${sessionScope["1"].id}
    ${sessionScope["1"]["id"]}换着试试。 
      

  8.   

    sessionScope这是EL的一个内置对像。
    ${sessionScope.1.id}表示从session中找key为“1”的对像的“id”属性。
    等价于<%=((User)session.getAttribute("a")).getId()%>
      

  9.   

    Jsp页面的session还是HttpSession类型的,action中的session是Map类型,但是执行
    session.put("1", user); 
    语句的时候struts2回自动执行
    session.setAttribute("1", user);gukuitian,是不是这样的。
      

  10.   

    jsp-->action时,Struts2会搜索上下文(request session)中的属性。装到struts2的session中(map形式)。action-->jsp时是个相反的过程。把mapSession中的内容读到HttpSession中。这样就方便了咱们在action中的操作。
      

  11.   

    struts2中的session的取得,用el表达式的隐士对象就可以取得的啊,即${sessionScope.1.id}是可以得到的啊,而且我把那个登录的那个封装成了一个对象放在了session中了,为什么还是不行,请各位大虾帮帮忙,小弟分少,弄了很久都不行,让人很沮丧啊。
      

  12.   

    应该是你的key为数字的事,1
    换种写法就算不多了。${sessionScope["1"].id}  或是${sessionScope["1"]["id"]}
      

  13.   

    sessionScopt可以省略不写。可以直接写成${1["id"]} ,方括号比点好更实用,不写sessionScopt会默认依次从request,session,application内进行查找