JSP 如何计算EL中的scriptlet变量

mxg2im7a  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(55)

我有

<%@taglib prefix="e" uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project" %>

字符串
也只是为了测试

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


在JSP页面的顶部。
我只是想清理一下errorMessage
下面的工作,所以我知道消息存在。

<% if(errorMessage != null) { %>
    <span class="error"><%=errorMessage%></span>
<% } %>


但是,如果我使用以下任何一项,它都不起作用,也不显示任何内容:

<p>Dynamic data via EL: ${e:forHtml(errorMessage)}</p>
<p>Dynamic data via tag: <e:forHtml value="${errorMessage}" /></p>
<c:out value="${errorMessage}" />

我不知道这里缺少什么。

sqyvllje

sqyvllje1#

您在EL表达式中使用了一个scriptlet变量。它不起作用。名为errorMassage的变量不包含在JSP使用的任何作用域中。因此,在重写代码以删除scriptlet或将变量放入页面作用域之前,无法找到它。如何在页面作用域中创建变量?请参阅:

<c:set var="errorMessage" scope="page"><%=errorMessage%></c:set>

字符串
现在可以使用${errorMessage}

相关问题