2016-10-31 8 views
0

私の要件によると、メインページにはTextFieldとラジオボタンが含まれています。サーブレットコードは、別のページではなく異なるシナリオで同じページに転送されます

シナリオ1:ユーザーがテキストフィールドに「locationno」を入力してサーブレットを提出DBを呼び出し、データベースから入力されたlocationnoのレコードをフェッチし、細かい

シナリオ2作業locationDetailsのpage.itsに転送します:をユーザがTextFieldでlocationnoを入力すると同時にラジオボタンをクリックすると、サーブレットはDBを呼び出し、locationAllDetailsページの代わりにlocationDetailsページに転送します。 TextFieldとラジオボタンを入力した後にSubmitボタンをクリックすると、Outputtype(ラジオボタン名)が「ALL」と表示されますが、locationAllDetailsページの代わりに常にlocationDetailsページに転送されます。

この行による疑いがある

request.setAttribute("locationbean", locResultsList); 

以下のコードを探してください。

  if (strSearchType != null && strSearchType.equals("locationNo")){ 
      inLoop = "siteID : "; 
      RequestDispatcher rd = null; 
      String locationNo = null; 

      String flow = null; 
      String pagePosition = null; 
      String sitePagePositon = null; 
      String outputType = null; 

      List locResultsList = null; 



      try{ 
       pagePosition = request.getParameter("pagePosition"); 

       if(pagePosition != null){ 
        request.setAttribute("pagePosition",pagePosition); 
        rd = this.getServletContext().getRequestDispatcher("/jsp/locationDetails.jsp"); 
        rd.forward(request, response); 
       } 
else{         
        flow = "locationSearchFlow"; 
        locationNo = request.getParameter("locationNo"); 
        session.setAttribute("locationNo",locationNo); 
        outputType = request.getParameter("outputType"); 

        rd = this.getServletContext().getRequestDispatcher("/jsp/SiteSearchResults.jsp"); 

        LocationCodeDAOBean locDaoBean = new LocationCodeDAOBean(); 

      List locResultsList = locDaoBean.getLocationResults(locationNo); 

     request.setAttribute("locationbean", locResultsList); 

    if(locResultsList.size() == 0){ 
          rd =  this.getServletContext().getRequestDispatcher("/jsp/ExceptionPage.jsp"); 
         request.setAttribute("errorMessage","No Records Returned for Site Item Location Details, Req Number = "+siteID); 
         rd.forward(request, response); 
        }else if(outputType.equals("ALL")){ 

         locationNo = request.getParameter("locationNo "); 
         session.setAttribute("locationNo ",locationNo);       

         LocationCodeDAOBean locDaoALLBean = new LocationCodeDAOBean(); 
    List locAllResultsList = locDaoALLBean .getALLLocationResults(locationNo); 

    request.setAttribute("pagePosition", "0"); 
         request.setAttribute("locationALLbean", locAllResultsList); 
         session.setAttribute("flow",flow); 
         rd = this.getServletContext().getRequestDispatcher("/jsp/LocationSearchAllResults.jsp"); 
         rd.forward(request, response); 
     } 

        else{ 
         rd = this.getServletContext().getRequestDispatcher("/jsp/ExceptionPage.jsp"); 
         request.setAttribute("errorMessage","No Records Returned for Site Item Location Details, Req Number = "+siteID); 
         rd.forward(request, response); 
        } 
       }  

答えて

2

毎回forwardの後に戻ります。私はこの質問をするものであった場合

if (pagePosition != null) { 
    request.setAttribute("pagePosition", pagePosition); 
    rd = this.getServletContext().getRequestDispatcher("/jsp/locationDetails.jsp"); 
    rd.forward(request, response); 
    return; 
} 
+1

は、私はすぐに追加return文の後に今locationAllresultsページをこの答え – Jay

+0

を受け入れているだろう、それは多分、資本Lと書かなければならない作業が、locationDetailsページは – TestAnalyst

+0

に動作していません: '」 /jsp/LocationDetails.jsp "'他のjspは大文字になっていますか? jspのような単純なHTMLを呼び出すことができるかどうかを確認します。 –

関連する問題