如何在JSP中通过URL传递对象?

时间:2013-12-29 07:32:20

标签: java jsp servlets

我有一个从servlet进入jsp文件的对象 我想将此对象传递给另一个jsp文件,并在另一个jsp文件中显示内容。

第一个Jsp文件:

ChangeRoomVO vo=(ChangeRoomVO)request.getAttribute("booking");
<a href="ChangeValidate.jsp?booking=<%=vo%>"><input type="button" value="Change"></a>

第二个jsp文件:

ChangeRoomVO vo=(ChangeRoomVO)request.getAttribute("booking");
out.print(vo.getBookingId());

错误说:

> org.apache.jasper.JasperException: An exception occurred processing
> JSP page /ChangeValidate.jsp at line 14
> 
> 11: <body>
  12: <% 
  13: ChangeRoomVO vo=(ChangeRoomVO)request.getAttribute("booking"); 
  14: out.print(vo.getBookingId());
  root cause
  java.lang.NullPointerException

URL能够传递对象,但无法检索存储在其中的数据。 是否有工作允许通过URL传递对象?

2 个答案:

答案 0 :(得分:1)

为此你可以使用Session。你正在尝试请求的东西将无法工作。因为所有的JSP都将成为servelt,然后在Text / html文件中没有属性。

答案 1 :(得分:1)

你在做什么对我来说有点奇怪。您无法在查询中传递对象。

但你有选择权。

  • 使用某个分隔符实现toString()方法并设置为String并检入 另一个jsp。(不推荐)

  • 如果jsp处理相同的请求,请将Object设置为 请求req.serAttribute("obj", Obj)

  • 如果两个jsps在请求中都是不同的,则将Object设置为session session.setAttribute("obj", Obj)