将多个对象从同一个servlet传递给jsp

时间:2016-04-08 01:05:47

标签: java jsp servlets

我想从我的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页面。我做错了吗?有没有更多的方法来处理这种情况?

提前致谢

1 个答案:

答案 0 :(得分:0)

在您发布的代码片段中,未定义名为“travelid”的参数。

 bookTravel=searchService.fetchBookingDetail(travelid);

这似乎是为什么对象bookTravel导致问题的原因。 如果已声明并初始化变量,请检查代码。