2016-04-08 7 views
-1

JSPに。私のJSPページのコードブロックの後峠複数のオブジェクトは、私は私のJSPページに私のサーブレットから2つのオブジェクト(例えばUser.java対象とTravel.javaオブジェクト)を送りたい

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); 

れる:続い

私のサーブレット・コードである、上記のコード・セグメントの

<% 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 /> 

、それはヌル・ポインタ例外がスローされたときに、サーブレットから移りますto jspページ。しかし、私はサーブレットから1つのオブジェクトを削除し、単一のオブジェクト(この場合は:旅行)を渡す。それは正常に動作しています。セッション属性は、私がこれらの2つのオブジェクトに関係なく単一の変数を保持しているので、あまり役に立ちません。

私は、JSPページに同じサーブレットからのオブジェクトの両方に合格する必要があります。私は間違っているのですか?このような状況に対処する方法はまだありますか?あなたは「travelid」という名前のパラメータが定義されていない投稿コードの断片では、事前

+0

あなたのアクセスが正常に見えます。 'travel'がNPEを投げなかったら、私は問題が' user'にあると思います。さらに推測、 'ユーザー= fetchUserService.fetchUser(driverId)として;'コードのあなたの最初のブロックでは、おそらく 'null'なのでを返します。 – markspace

+0

一度に1つのオブジェクトを1つずつjspに送信してみました。どのメソッド呼び出しもnull値を返すことはありませんでした。私はかなりの問題は、一度にjspページ内の2つのオブジェクトを解釈することにあるかもしれないと確信しています。 :(@markspaceとして – Sid

+0

は、あなたがやったように、2つの異なるオブジェクトを渡すことが問題になることはありません、と述べた。あなたも質問に例外スタックトレースを貼り付ける(NPEがスローされた行何で示すことができれば、それはおそらく役立つだろうより良い)。 – DanielBarbarian

答えて

0

感謝。

bookTravel=searchService.fetchBookingDetail(travelid); 

なぜ、bookbookTravelオブジェクトが問題を引き起こしているのかという理由が考えられます。あなたのコード内 チェックあなたが宣言され、変数を初期化している場合。

関連する問題