Servlet未重定向到页面,显示非样式页面

时间:2013-12-10 09:40:47

标签: java jsp servlets arraylist

我在jsp中使用servlet时遇到问题。假设我想从下拉列表中获取值并将其处理为servlet。

从下拉列表中处理代码的方法称为 ListDetailPesanan(Pesanan p);

我已成功从ListDetailPesanan函数中获取返回Array List的列表。然后该函数放在我的servlet中,名为 submitAppPesanan ,从表单执行,然后重定向到名为 apesanan.jsp

的页面

这是servlet submitAppPesanan.java(我把这个servlet放到web.xml中)

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {
        /* GETTING VALUE FROM FORM. */
        int kode = Integer.parseInt(request.getParameter("kode_pesanan_tmp"));
        /* Initialize value to object */
        Pesanan p = new Pesanan(kode);
        /* execute the object to gain result set */
        MasterPesanan mp = new MasterPesanan();
        List<Pesanan> psn = mp.ListDetailPesanan(p);
        java.lang.System.out.println("Pesanan " + psn);
        /* sending result set to apesanan.jsp again */
        if(psn != null){
            request.setAttribute("listpesanan", psn);
            request.getRequestDispatcher("system/apesanan.jsp").forward(request, response);
        }     
    } catch(Exception e) {
        java.lang.System.out.println("Exception on Submit App Pesanan " + e.getMessage() + "\n" + e.getCause()); 
    } finally {            
        java.lang.System.out.println("Submit Kode Pesanan Successfully Executed");
    }
}

但是servlet没有再次重定向到apesanan.jsp,但是servlet停留在页面中并显示了apesanan.jsp的非样式页面。

  1. 这段代码出了什么问题?因为我看到了我的输出结果 Glassfish服务器没有任何错误。
  2. 如何正确使用从servlet到apesanan.jsp页面的列表?
  3. 提前感谢。

    更新

    我的apesanan.jsp页面的屏幕截图然后执行了servlet。

    Original apesanan.jsp

    然后重定向然后堆叠在这里。

    servlet redirection

    更新

    结果列表工作正常并按我的意愿显示,但仍然不知道发生了什么。

    result printed

2 个答案:

答案 0 :(得分:0)

请在RequestDispatcher中检查您的路径。

尝试类似(“/system/apesanan.jsp”);

答案 1 :(得分:0)

问题是你的css没有加载,因为我猜你正在使用相对路径 你的jsp中的<link rel="stylesheet" type="text/css" href="../css/theme.css">

当您将请求转发到jsp页面时,页面URL不会因此而改变,因为相对路径不会解析为css文件。

使用<link rel="stylesheet" type="text/css" href="<%=request.getcontextpath()%>/css/theme.css">或JSTL的c:url标记。