<c:forEach var="user" items="${pageScope.users }">
<tr>
                <% request.setAttribute("user",__________);%>
<td>${user.user_id }</td>
<td><a href="xiugaiyonghu.jsp">${user.user_name }</a></td>
<td>${user.user_sex }</td>
</tr>
</c:forEach>点击${user.user_name }进xiugaiyonghu.jsp的时候我想把当前这个user的所有信息,包括${user.user_id },${user.user_name },${user.user_sex }等带过去,想把当前user放到request对象带过去,该怎么写呢
划线的地方不知道怎样访问当前的user
不想把参数写到url上,user可能很大.
JSP怎么这么难 ,感觉JSTL与Java之间的通信难是个缺点

解决方案 »

  1.   

    其实你的代码中已经实现了,能够带过去了。。 <% request.setAttribute("user",__________);%>这句只需要到xiugaiyonghu.jsp页面。使用(User) request.getAttribute("user");就能取到了
      

  2.   

    突然发现 我回答错了。。request通过setAttri...方法无法实现在jsp页面间传递。。只能通过session方式。。
    request可以通过提交表单方式来传递请求参数。。不过不是对象是单个或多个基本类型参数。。
      

  3.   

    第一你可以考虑 把 你的user的名字做为索引放到session中
    <c:set var="${user.user_name}" value="${user}"}" scope="session"/>
    var="${user.user_name}"var  不知道支持不支持表达式
    推你使用下面这种
    第二中 你通过超链接  名字做为参数去访问后台的servlet,  重新取数据, 然后到另外一个页面中获取user
    的相关属性
      

  4.   


    江苏-冰天雪地()  19:16:00
    <% 
       List<User> users = Request.getAttribute("users");
      for (User user : users){    request.setAttribute("user",__________);
       
        out.print("<td>"+user.getUser_id()+"</td>");    out.print(" <td><a href="xiugaiyonghu.jsp">"+user.getUser_name()+"</a></td>");    out.print("<td>"+user.getUser_sex()+"</td></tr>")
    }
    %>
    request代表一次请求
    超链接只是页面跳转。不是一次请求
      

  5.   

    结贴:
    尝试一下5楼的
    <c:set var="${user.user_name}" value="${user}"}" scope="session"/>
      

  6.   

    可以将JSP的变量值放到一个JS对象中,然后再通过AJAX发送到request中。