我想从我的servlet向我的jsp页面发送2个对象(例如User.java对象和Travel.java对象)。
以下是我的servlet代码:
Travel bookTravel=new Travel();
User user=new User();
SearchService searchService=new SearchService();
bookTravel=searchService.fetchBookingDetail(travelid);
int driverId=bookTravel.getUserid();
iService fetchUserService=new LoginService();
user=fetchUserService.fetchUser(driverId);
request.setAttribute("user", user);
request.setAttribute("bookTravel", bookTravel);
RequestDispatcher rd=request.getRequestDispatcher("/bookingpage.jsp");
rd.forward(request, response);
以下是我的jsp页面代码块:
<% Travel travel=new Travel();
User user=new User();
travel=(Travel)request.getAttribute("bookTravel");
user=(User)request.getAttribute("user");
%>
Here are your choice of travel details:
<%=user.getAddress() %>
<br />
对于上面的代码段,当控件从servlet移动到jsp页面时,它会抛出空指针异常。但是,当我从servlet中删除一个对象并只传递一个对象(在这种情况下:旅行)。它工作正常。会话属性没有多大帮助,因为我保留单个变量而不管这两个对象。
我需要将同一个servlet中的对象传递给jsp页面。我做错了吗?有没有更多的方法来处理这种情况?
提前致谢
答案 0 :(得分:0)
在您发布的代码片段中,未定义名为“travelid”的参数。
bookTravel=searchService.fetchBookingDetail(travelid);
这似乎是为什么对象bookTravel导致问题的原因。 如果已声明并初始化变量,请检查代码。