【发布时间】:2021-05-02 09:57:22
【问题描述】:
我想知道在<c:if> 语句中是否有使用JSP。
例如
<c:if test="${ param.variable1 == 'Add' <% JSP variable clause %>}">
所以我也希望检查我的 JSP 变量。
有什么建议吗?我曾经无知地尝试过只是坚持从句,显然它没有用。
谢谢
【问题讨论】:
我想知道在<c:if> 语句中是否有使用JSP。
例如
<c:if test="${ param.variable1 == 'Add' <% JSP variable clause %>}">
所以我也希望检查我的 JSP 变量。
有什么建议吗?我曾经无知地尝试过只是坚持从句,显然它没有用。
谢谢
【问题讨论】:
所以你想在 EL 中评估一个 scriptlet 变量?将其存储为请求属性。
<%
String var = "some";
request.setAttribute("var", var);
%>
<c:if test="${param.variable1 == 'Add' && var == 'some'}">
但是,这没有任何意义。您应该完全avoid scriptlets 并使用 JSTL/EL 来准备这个变量。因此,如果您使功能要求更加清晰,例如“如何使用 JSTL/EL 执行此操作(插入 scriptlet 代码 sn-p)?”,然后我们将能够建议正确的方法。
例如,您可以使用<c:set> 在 EL 范围内设置变量。
<c:set var="var" value="some" scope="request" />
【讨论】:
pageScope.var。果然,它没有用。奇怪的是,当在 EL 中简单地使用 var 时,它确实工作,而不必将变量放在请求范围内的 scriptlet 代码中。我错过了什么?
<% pageContext.setAttribute("var", "some"); %>