我將資料從 login.java 發送到 stu.jsp
下面是 login.java 代碼
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
boolean message = true;
request.setAttribute("message", message); // This will be available as ${message}
request.getRequestDispatcher("stu.jsp").forward(request, response);
}
【這是stu.jsp的代碼(顯示錯誤)】請點擊圖片查看有錯誤的代碼
點擊查看圖片
下面是與上面影像中的代碼相同的代碼,它顯示了 EL 中的 if 條件中的錯誤
<% if ( ${message} ) { %>
<p> Today is weekend</p>
<% } else { %>
<p> Today is not weekend</p>
<% } %>
以下是我運行服務器時的完整錯誤訊息
HTTP Status 500 – Internal Server Error
Type Exception Report
Message Unable to compile class for JSP:
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: [89] in the jsp file: [/stu.jsp]
Syntax error, insert ") Statement" to complete IfStatement
86:
87:
88:
89: <% if ( ${message} ) { %>
90: <p> Today is weekend</p>
91: <% } else { %>
92: <p> Today is not weekend</p>
An error occurred at line: [89] in the jsp file: [/stu.jsp]
$ cannot be resolved to a variable
86:
87:
88:
89: <% if ( ${message} ) { %>
90: <p> Today is weekend</p>
91: <% } else { %>
92: <p> Today is not weekend</p>
An error occurred at line: [89] in the jsp file: [/stu.jsp]
Syntax error on tokens, delete these tokens
86:
87:
88:
89: <% if ( ${message} ) { %>
90: <p> Today is weekend</p>
91: <% } else { %>
92: <p> Today is not weekend</p>
An error occurred at line: [91] in the jsp file: [/stu.jsp]
Syntax error on token "else", delete this token
88:
89: <% if ( ${message} ) { %>
90: <p> Today is weekend</p>
91: <% } else { %>
92: <p> Today is not weekend</p>
93: <% } %>
94:
An error occurred at line: [647] in the generated java file: [D:\Browser Downloads\setup -2\eclipse\TOMCAT\apache-tomcat-9.0.54\work\Catalina\localhost\PPP\org\apache\jsp\stu_jsp.java]
Syntax error, insert "}" to complete Block
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:487)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:367)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:605)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
pack.login.doPost(login.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note The full stack trace of the root cause is available in the server logs.
請幫我解決這個問題 提前謝謝
uj5u.com熱心網友回復:
message是JSP中的一個屬性,里面的一切<%... %>都是java代碼。
在 Java 代碼中,您不能使用,${}因為您只能使用 Java 語法。
知道了這一點,你有兩種可能:
message使用request.getAttribute()inside訪問<% %>:
<% if ((Boolean)request.getAttribute("message")) { %>
<p> Today is weekend</p>
<% } else { %>
<p> Today is not weekend</p>
<% } %>
或者你可以使用c:if:
<c:if test="${message}">
<p> Today is weekend</p>
</c:if>
<c:if test="${! message}">
<p> Today is not weekend</p>
</c:if>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/334817.html
上一篇:無法將大量Prime列印到控制臺
