小脚本与JSTL交互

时间:2022-03-23 08:52:09

<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之间的通信难是个缺点

8 个解决方案

#1


其实你的代码中已经实现了,能够带过去了。。 <% request.setAttribute("user",__________);%>这句。。。

只需要到xiugaiyonghu.jsp页面。使用(User) request.getAttribute("user");就能取到了。。。

#2


放到session里么

#3


引用 1 楼 kouyisc 的回复:
其实你的代码中已经实现了,能够带过去了。。 <% request.setAttribute("user",__________);%>这句。。。

只需要到xiugaiyonghu.jsp页面。使用(User) request.getAttribute("user");就能取到了。。。

想知道_________处怎么写呀  你是故意的 唉

#4


引用 3 楼 tp30512kuang 的回复:
引用 1 楼 kouyisc 的回复:

其实你的代码中已经实现了,能够带过去了。。 <% request.setAttribute("user",__________);%>这句。。。

只需要到xiugaiyonghu.jsp页面。使用(User) request.getAttribute("user");就能取到了。。。

想知道_________处怎么写呀  你是故意的 唉
……

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

#5


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

#6



江苏-冰天雪地()  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代表一次请求
超链接只是页面跳转。不是一次请求

#7


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

#8


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

#1


其实你的代码中已经实现了,能够带过去了。。 <% request.setAttribute("user",__________);%>这句。。。

只需要到xiugaiyonghu.jsp页面。使用(User) request.getAttribute("user");就能取到了。。。

#2


放到session里么

#3


引用 1 楼 kouyisc 的回复:
其实你的代码中已经实现了,能够带过去了。。 <% request.setAttribute("user",__________);%>这句。。。

只需要到xiugaiyonghu.jsp页面。使用(User) request.getAttribute("user");就能取到了。。。

想知道_________处怎么写呀  你是故意的 唉

#4


引用 3 楼 tp30512kuang 的回复:
引用 1 楼 kouyisc 的回复:

其实你的代码中已经实现了,能够带过去了。。 <% request.setAttribute("user",__________);%>这句。。。

只需要到xiugaiyonghu.jsp页面。使用(User) request.getAttribute("user");就能取到了。。。

想知道_________处怎么写呀  你是故意的 唉
……

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

#5


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

#6



江苏-冰天雪地()  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代表一次请求
超链接只是页面跳转。不是一次请求

#7


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

#8


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