質問内容
質問を評価する
(0ポイント)
|
下記のようなコードでレスポンスのjspによって結果のHTMLを埋め込むタグを変えたいと思っています。
正常に処理できた場合は<div id="dataList">に結果のHTMLを埋め込む。 セッション切れやException発生時には<body>タグに結果のHTMLを埋め込む。 というように処理をしたいと考えています。
正常か異常かの判断にsearchFuncのmyStatusを使用しようとしていますが、常に'success'が帰ってきてしまいます。
処理を分けるよい方法はありませんか?
jspの内容 <script type="text/javascript"> <!-- $('#searchForm').change(function(e){ $.post("/searchServlet", $('#searchForm').serialize(), searchFunc); }); function searchFunc(myData, myStatus){ if(myStatus == 'success') { $("#dataList").html(myData); } else { $("body").html(myData); } }; --> </script> <body> <form id="searchForm" action="/searchServlet" method="post"> 検索条件いろいろ </form> <div id="dataList"> 検索結果がここに表示されます。 </div> </body>
Servletの内容 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { // ログインチェック if( initLoginCheck(request, response) == false ) { /* まだ認証されていない */ RequestDispatcher dispatcher = request.getRequestDispatcher("/login.jsp"); dispatcher.forward(request, response); return; } // データ検索 List dataList = getDataList(request, response); request.setAttribute("dataList", dataList); RequestDispatcher dispatcher = request.getRequestDispatcher("/dataListAjax.jsp"); dispatcher.forward(request, response); } catch (Exception e) { String strMessage = e.toString(); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); strMessage += "\n" + sw.toString(); request.setAttribute("ErrorStr", strMessage); RequestDispatcher dispatcher = request.getRequestDispatcher("/errorPage.jsp"); dispatcher.forward(request, response); } }
|