action中这样写的:
public String execute() throws Exception{
String hql="from User u where u.Id=? and u.Password=?";
Object value[]={this.user.getId(),this.user.getPassword()};
List<User> i = (List<User>) loginDao.find(hql, value);
int x = i.size();
if(x>0)
{
ActionContext context=ActionContext.getContext();
Map session=context.getSession();
session.put("usession", i);
return SUCCESS;
}
jsp页面中用EL表达式取:
               ${usession }
${session.usession.id }
${pageContext.session}
<s:property value="#session.usession"/>
都取不出来,为什么啊,小弟弄了很久了啊,总是弄不出来的啊》

解决方案 »

  1.   

    ${sessionScope.usession.id } 
    好像要这样写吧你还可以试试
    <s:property value="#session.usession.id"/> 
      

  2.   

    ${sessionScope.usession.id } 
    或者直接写${usession.id }
      

  3.   

    ${sessionScope.usession.Id } 
      

  4.   

    ${sessionScope.usession[0].Id } ,usession是list,不是簡單的对象。要在循环里面读取比较好。<c:if test="${usession!= null}">
    <c:forEach var="person" items="${usession}">
    ${person.age}<br/>
    ${person.name}<br/>
    </c:forEach> 
      

  5.   


    恩 list用<c:forEach>标签显示出来吧
      

  6.   

    user = userService.login(user);
    HttpSession session = null;
    HttpServletRequest request = null;
    if(user!=null){
    request = ServletActionContext.getRequest();
    session = request.getSession();
    session.setAttribute("loginUser", user);
    return "success";
    }
      

  7.   

    6楼说的对,你session存放的是list。应该遍历读取的。
      

  8.   

    我记得是session.setA……
    检查一下你action里面用的session是怎么来的,看看你session是否是一个对象,别弄错了最可能的是你session里面方的是list
    你那样是不能获取出数据的,用该用标签迭代出来的,要不你放个字符串进去,在页面中拿看看能不能拿出来。
    祝lz好运
      

  9.   

    用的struts2吧session中的是一个list,需要循环取值像6楼的
      

  10.   

    for(int i = 0 ; i < bulletinList.size() ; i ++ ){
            }
      

  11.   

    在page指令里加上isELIgnored="true"这句试试看行不行。