结果重定向不适用于jsp

时间:2014-02-15 12:26:32

标签: java jsp servlets

我在我的servlet中获得了ping结果。我正在尝试将其重定向到另一个jsp文件。

输出的jsp文件打开。但是没有显示。

这是我的servlet主代码

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
        String ip = request.getParameter("ip"); 
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
    //  out.println("The ip address is:"+ip+"\n");
        String result = pingTest(ip);
        out.println(result);
        String redirect = "Output.jsp";
        RequestDispatcher view = request.getRequestDispatcher(redirect);//Is it good approach to redirect request in ajax based servlet?
        view.forward(request, response);
        } 

这是我的output.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ping Check Result</title>
</head>
<body>
</body>
</html

我是否需要在output.jsp中添加任何内容?

2 个答案:

答案 0 :(得分:1)

在你的servlet中:

request.setAttribute("result", result);
request.getRequestDispatcher("/WEB-INF/Output.jsp").forward(request, response);

在你的JSP中:

<pre>The data from servlet: ${result}</pre>

答案 1 :(得分:0)

你的servlet必须是:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

            String ip = request.getParameter("ip"); 
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("The ip address is:"+ip+"\n");
            String result = pingTest(ip);
            out.println(result);        
            RequestDispatcher view = request.getRequestDispatcher();
            view.forward(request, response);
     }