Jsp 如何从struts2中的hashmap中获取值,并在<;s:如果测试>;?
我有一个名为param(String,String)的hashmap-in-Action类,其中一个(key,value)对是Jsp 如何从struts2中的hashmap中获取值,并在<;s:如果测试>;?,jsp,struts2,ognl,Jsp,Struts2,Ognl,我有一个名为param(String,String)的hashmap-in-Action类,其中一个(key,value)对是 USE=>1 or USE=>0 我想在jsp中检查它,使用“USE”的值是“1”还是“0”?我在hashmap的action类中有一个合适的getter。我还在HTML文本字段中验证了键“USE”的值是否正确 我试过了 <s:iterator var="map" value="param" > <s:if test="%{#m
USE=>1 or USE=>0
我想在jsp中检查它,使用“USE”的值是“1”还是“0”?我在hashmap的action类中有一个合适的getter。我还在HTML文本字段中验证了键“USE”的值是否正确
我试过了
<s:iterator var="map" value="param" >
<s:if test="%{#map['USE'].equals(\"1\")}">
<s:checkbox label="Use" name="use" fieldValue="true" value="true"labelposition="left"/>
</s:if>
</s:iterator>
<s:else>
<s:checkbox label="Use" name="useMta" fieldValue="false" value="false" labelposition="left"/>
</s:else>
但它不起作用?任何想法都会对我有帮助。
<s:iterator var="map" value="param" >
<s:if test="%{#map['USE']=='1'}">
<s:checkbox label="Use" name="use" fieldValue="true" value="true"labelposition="left"/>
</s:if>
</s:iterator>
<s:else>
<s:checkbox label="Use" name="useMta" fieldValue="false" value="false" labelposition="left"/>
</s:else>
您可以在Java字符串中转义双引号,但是equals
方法的参数应该是Java对象。您案例中的字符串对象将是
s:if test="%{#map['USE'].equals('\"1\"')}">
请注意,OGNL使用单配额或双配额来分隔OGNL常量中的字符串文字。您不需要遍历映射来从中获取值。现在执行此操作时,
#map
变量的类型不是map
,而是map$Entry
因此,删除
标记,只使用
-
标记
BTW将你的动作字段命名为<代码> PARAM < /C>可能不是最好的主意,考虑把它改为更少的关键字ISH。< /P>使用适当的缩进表示可能的问题。