0
try {

    PaperDAOImpl objPaperDAOImpl = new PaperDAOImpl();
    AuthorDAOImpl objAuthorDAOImpl = new AuthorDAOImpl();
    List<papersBean> listPaperBean = new ArrayList<papersBean>();
    List<List<Author>> listOfListAuthor = new ArrayList<List<Author>>();

    String title = null;
    String author = null;

    if (request.getParameter("searchtitle") != null) {
        title = request.getParameter("title").trim();
        if (title.trim().equals("")) {
            String error = " You must choice option search";
            request.setAttribute("error", error);

        } else {
            listPaperBean = objPaperDAOImpl.SearchPaperByTitle(title
                    .trim());
            request.setAttribute("listresult", listPaperBean);
            // Get List Author Name , List

            if (!listPaperBean.isEmpty()) {

                for (int i = 0; i < listPaperBean.size(); i++) {
                    List<Author> listAuthor = objAuthorDAOImpl
                            .GetListAuthorByIdPaper(listPaperBean
                                    .get(i).getIdPaper());
                    if (listAuthor != null) {
                        listOfListAuthor.add(listAuthor);
                    }
                }
                int size = 0; // for debug
                size = listOfListAuthor.size(); // for debug

                request.setAttribute("lolAuthor", listOfListAuthor);
                RequestDispatcher rd = request
                        .getRequestDispatcher("front-end/search.jsp");
                rd.forward(request, response);
                return;

            }
        }
    }

} catch (ServletException e) {
    e.printStackTrace();
}

finally {

}

これが検索データ用の MyServlet です。

util row にデバッグすると:

 `RequestDispatcher rd = request.getRequestDispatcher("front-end/search.jsp");`  

すべて大丈夫です。そして "listOfListAuthor" , "listPaperBean"データがあります...しかし、行にデバッグするとき:

rd.forward();---> まだ解決できない問題があります。

**Aug 19, 2012 3:48:52 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException
at managerpapers.system.servletController.FESearchTitle.processRequest(FESearchTitle.java:73)--This is rows : `rd.forward()`;**

これが検索データの MyServlet です。私はこれのために一日中デバッグします。これは私の論文です。A サーブレット マスターについて理解していません。誰にもアイデアはありますか?

これが検索データの MyServlet です。私はこれのために一日中デバッグします。これは私の論文です。A サーブレット マスターについて理解していません。誰にもアイデアはありますか?

4

1 に答える 1

0

Javadocで述べたように、servletContext の requestDispatcher は「/」で始まる必要があり、現在のコンテキスト ルートを基準として解釈されます。
代わりに:
RequestDispatcher rd = request.getRequestDispatcher("front-end/search.jsp");

これを試して :
RequestDispatcher rd = request.getRequestDispatcher("/front-end/search.jsp");

お役に立てば幸いです

于 2012-08-19T09:45:42.443 に答える