<%@ page contentType="text/html; charset=gb2312"%>
<%
    String color = request.getParameter("color");
    if ("red".equals(color)) {
      request.getRequestDispatcher("red.jsp").forward(request, response);
    } else if ("green".equals(color)) {
        request.getRequestDispatcher("green.jsp").forward(request, response);
    }
%>
这错在哪里?  
request有这样的语法吗? request.getRequestDispatcher("green.jsp").forward(request, response);

解决方案 »

  1.   

    request.getRequestDispatcher("green.jsp").forward(request, response); 没错
      

  2.   

    以/开头
    request.getRequestDispatcher("/green.jsp").forward(request, response); 
      

  3.   

    request.getRequestDispatcher("green.jsp").forward(request, response); 
    叫请求转发
    是个跳转语句,没有错误。
    <%@ page contentType="text/html; charset=gb2312"%> 
    <% 
        String color = request.getParameter("color"); 
        if ("red".equals(color)) { 
          request.getRequestDispatcher("red.jsp").forward(request, response); 
        } else if ("green".equals(color)) { 
            request.getRequestDispatcher("green.jsp").forward(request, response); 
        } 
    %> 
    这也没有错误
    代码解析:如果你传过来的颜色是红色,则跳转到red.jsp
    如果你传过来的是绿色,则跳转到green.jsp
    这只能跳转到本工程目录下
    你看看你的green.jsp  red.jsp是不是在别的目录下了,哈哈 
      

  4.   

    代码 上看每问题
    但是晓得你的
     String color = request.getParameter("color"); 
    color是不是为空的System.out.println(color);
    测试一下看.
      

  5.   

    你是不是吧JSP页面放再文件里了,你打上绝对路径看看
      

  6.   

    没有错啊,与 getServletContext().getRequestDispatcher 不同的是它可以采用相对路径
    而 ServletContext 的那个必须是以 / 开头的绝对路径。
      

  7.   

    写路径时,request,response重定向与转发型式已定,路径的写法是否有两种,相对路径按相对路径规则写,绝对路径按绝对路径写,只要按规则,都是对的,是这样吗?
      

  8.   

    request.getRequestDispatcher(forward)是什么意思