0

リクエストパラメータを比較したいサーブレットがあります。次のコードを使用しています

  <body>
    <%
        if(request.getParameter("type")!=null)
               {
            if(request.getParameter("type").equals("recover"))
                                   {
    %>
                <h1>Recover</h1>
    <%
               }
                           }
                   else if(request.getParameter("type")!=null)
                           {
                       if(request.getParameter("type").equals("reset"))
                                                         {
    %>
    <h1>Reset</h1>
    <%
           }
                                                 }
        %>
</body>

しかし、このjspはコンパイル時の例外スタックトレースが続きます

org.apache.jasper.JasperException: An exception occurred processing JSP page /recover.jsp at line 16

 </head>
<body>
     <%
         if(request.getParameter("type").equals("recover")) <--- line16
               {
    %>
     <h1>Recover</h1>

これは文字列を比較する正しい方法であるため、何が問題なのかわかりません。

4

2 に答える 2

1

代わりに JSTL を使用してみませんか。

<c:if test="${param.type == 'recover'}">
    <h1>Recover</h1>
</c:if>
<c:if test="${param.type == 'reset'}">
    <h1>Reset</h1>
</c:if>

パラメーターが null であることを気にする必要はなく、よりクリーンになります。スクリプトレットはもう使用しないでください。そして、それは長い間真実です。

于 2012-09-21T13:02:06.893 に答える
0

request.getParameter()を実行する前に、戻り値が null でないことを確認してください.equals()

于 2012-09-21T12:58:13.337 に答える