我想使用Struts 2标记bool_val检查变量<s:if>的值,但它不起作用。
<%@ taglib prefix="s" uri="/struts-tags" %>
<%boolean bool_val=true;%>
real value : <%=bool_val%></br>
expression evaluated value :
<s:if test="%{bool_val==true}">
TRUE
</s:if><s:else>
FLASE
</s:else>我也尝试过跟随测试表达式,但仍然不起作用。
<!--
bool_val
bool_val==true
%{bool_val}
%{bool_val==true}
%{bool_val=="true"}
-->发布于 2014-04-15 09:50:35
除非将这个变量放入值堆栈,否则不能在Struts标记中使用scriptlet变量。但是最好不要使用scriptlet变量,而是使用变量值。
<%@ taglib prefix="s" uri="/struts-tags" %>
<%boolean bool_val=true;%>
real value : <%=bool_val%><br/>
expression evaluated value :
<s:set var="bool_val"><%=bool_val%></s:set>
<s:if test="#bool_val == 'true'">
TRUE
</s:if><s:else>
FALSE
</s:else>发布于 2014-04-15 06:26:45
使用struts标记创建这样的变量
<s:set var="bool_val" value="true" />
expression evaluated value :
<s:if test="%{#bool_val == true}">
TRUE
</s:if><s:else>
FALSE
</s:else>这是一个样本教程。
发布于 2015-04-14 08:35:50
比Visruth CV推荐的版本更短:
<s:set var="foo" value="true" />
expression evaluated value :
<s:if test="foo">
TRUE
</s:if><s:else>
FALSE
</s:else>如果您想要对照Action属性检查布尔值,下面是方法:
class FooAction extends ActionSupport {
private Boolean _bar = true;
public Boolean isBar() { return _bar; }
}在jsp文件中:
expression evaluated value :
<s:if test="isBar()">
TRUE
</s:if>
<s:else>
FALSE
</s:else>https://stackoverflow.com/questions/23075594
复制相似问题