我有以下我正在尝试转换为JSTL
的scriptlet<%
String req = request.getParameter("loginfailed");
if(req != null)
{
if(req.equals("true"))
{%>
<h4 id="loginerrormessage">Invalid email address or password.</h4>
<%}
}
%>
这个scriptlet运行得很好,但我现在正尝试将它转换为JSTL,我是新手。这是我使用JSTL重建逻辑的最佳尝试。
<c:set var="req" value="${request.getParameter(\"loginfailed\")}"/>
<c:if test="${ req!=null }">
<c:if test="${ req.equals(\"true\") }">
<h4 id="loginerrormessage">Invalid email address or password.</h4>
</c:if>
</c:if>
当我用上面写的JSTL替换scriptlet时,没有任何崩溃,但我不再看到“无效的电子邮件地址或密码”。什么时候我会使用scriptlet看到它。我不确定我在这里做错了什么。
这是范围问题吗?我认为c:set的默认页面范围很好。它是否与我在JSTL中使用转义引号的事实有关?
答案 0 :(得分:0)
只需使用
<c:if test="${ param.loginfailed eq 'true' }">
<h4 id="loginerrormessage">Invalid email address or password.</h4>
</c:if>
这里param
是隐式JSP对象,它允许您访问请求参数。