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

标签 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 传递对象?

最佳答案

你所做的事情对我来说并不奇怪。您不能在查询中传递对象。

但你有选择。

  • 使用一些分隔符实现 toString() 方法,并将其设置为字符串并在其中检索 另一个jsp。(不推荐)

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

  • 进行请求
  • 如果两个jsp的请求不同,则将对象设置为 session ,例如 session.setAttribute("obj", Obj)

关于java - 如何在 JSP 中通过 URL 传递对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20823070/

相关文章:

java - 将数据从 Perl 脚本交换到 Java Android 应用程序的最简单安全方法

Java多维数组概念

java - java servlet 的 Init 方法被调用两次

java - Jersey 自定义异常未在 Servlet 类中捕获?

java - JSP servlet错误,无法弄清楚

java - 使用 javax.script.ScriptEngine 对象评估 javaScript 代码后返回 boolean 值

java - Java中jpanel添加动态按钮

java - 在 Netbeans 7.3.1 上运行 Struts 2 应用程序时出现无操作映射错误

java - JSP 用户点击计数器

javascript - jquery 使用多个 if/else 条件验证规则