jsp:forward param子标记 java web

login.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>Insert title here</title>
</head>
<body>
<form action="select.jsp" method="post">
<table>

<tr>
    <td align="right">用户名:</td>
    <td><input type="text" name="username"></td>
</tr>
<tr>
    <td align="right">班级:</td>
    <td><select name="grade">
                <option value="一班">一班</option>
                <option value="二班">二班</option>
                <option value="三班">三班</option>
                <option value="四班">四班</option>
                <option value="五班">五班</option>
        </select>
    </td>
</tr>
<tr>
    <td align="center"><input type="submit" value="提交">
    </td>
</tr>
</table></form>
</body>
</html>

select.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>Insert title here</title>
</head>
<body>
<form action="success.jsp" method="post">
    <%
    request.setCharacterEncoding("UTF-8");
    String username=request.getParameter("username");
    String grade=request.getParameter("grade");
    %>
<h3>一:1+3=(用英文回答)(小写):<input type="text" name="number"></h3>
<h3>二:the pen is __. </h3>
<input type="radio" name="english" value="A">A.me
<input type="radio" name="english" value="B">B.my
<input type="radio" name="english" value="C">C.mine
<h3>三:选择的英文是:(多选)</h3>
<input type="checkbox" name="check" value="select" >select
<input type="checkbox" name="check" value="choose" >choose
<input type="checkbox" name="check" value="chose" >chose

<p><input type="submit" value="提交">
<% 
if(username.equals(""))
{

%>
<jsp:forward page="login.jsp"/>
<%  }
else 
{ 
%>
<jsp:forward page="success.jsp" >
    <jsp:param value="<%=username%>" name="name"/>
    <jsp:param value="<%=grade %>" name="ugrade"/>
</jsp:forward>

<%  } %>
</form>
</body>
</html>

success.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>Insert title here</title>
</head>
<body>

<% 
    request.setCharacterEncoding("UTF-8");
    String username=request.getParameter("name");
    String grade=request.getParameter("ugrade");
    String number=request.getParameter("number");
    String english=request.getParameter("english");
    String checkbox[]=request.getParameterValues("check");
    int sum=0;
    if(number.equals("four"))
    {
        sum=2;
    }
    else sum=0;
    if(english.equals("C"))
    {

        sum=sum+2;
    }
    else sum=sum+0;
    for(int i=0;i<checkbox.length;i++)
    {

        if(checkbox[i].equals("select"))
            sum=sum+1;
        else
            if(checkbox[i].equals("choose"))
                sum=sum+1;
            else
                sum=sum+0;

    }
    out.print(username);
    out.print(grade);
    out.print(number);%>
    <p>
    <%out.print(english); %>
    <p>
    <%for(int i=0;i<checkbox.length;i++)
    {
        out.print(checkbox[i]);
    } %>
    <p>
    <%out.print("标准答案:一:four;二:C;三:choose,select;"); %>
    <p>
    <%out.print("总分是:"+sum); %>
</body>
</html>

错误是:
farward 标签错误,如果去掉与此相关的内容,可以运行成功。
看了好久不知道farward 错在哪了

HTTP Status 500 – Internal Server Error


Type Exception Report

Message An exception occurred processing [/select.jsp] at line [40]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception
org.apache.jasper.JasperException: An exception occurred processing [/select.jsp] at line [40]

37: else 
38: { 
39: %>
40: <jsp:include page="success.jsp" >
41:     <jsp:param value="<%=username%>" name="name"/>
42:     <jsp:param value="<%=grade %>" name="ugrade"/>
43: </jsp:include>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:499)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


Root Cause
org.apache.jasper.JasperException: An exception occurred processing [/success.jsp] at line [19]

16:     String english=request.getParameter("english");
17:     String checkbox[]=request.getParameterValues("check");
18:     int sum=0;
19:     if(number.equals("four"))
20:     {
21:         sum=2;
22:     }


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:868)
    org.apache.jsp.select_jsp._jspService(select_jsp.java:158)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


Root Cause
java.lang.NullPointerException
    org.apache.jsp.success_jsp._jspService(success_jsp.java:126)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:868)
    org.apache.jsp.select_jsp._jspService(select_jsp.java:158)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


Note The full stack trace of the root cause is available in the server logs.

username==""

这句不会成了的,应该用字符串的 equals 才对。

<jsp:forward page="login.jsp"/>
这个标签没有闭合