struts 2 中的测试迭代器值
test iterator value in struts 2
我想select条件下拉选项。
<s:set var="defaultState" value="customerBean.state"/>
<select onchange="reflect(this);" name="customerBean.state" class="form-control" id="state">
<option>Select</option>
<s:iterator value="stateList" var="statevalue">
<s:if test="%{#defaultState.equalsIgnoreCase(stateValue)}">
<option id="stateVal" selected="selected"><s:property value="statevalue"/></option>
</s:if>
<s:else>
<option id="stateVal"><s:property value="statevalue"/></option>
</s:else>
</s:iterator>
</select>
这行不通。但是如果我把
<s:if test="%{#defaultState.equalsIgnoreCase('Alabama')}">
这有效。
请帮忙。
你确定不是简单的错别字?在您的代码中,您使用的是 stateValue
和 statevalue
。
除此之外,stateList
是一个简单列表还是 bean 列表?对于第二个选项,你必须使用类似 stateValue.value
.
的东西
另一种选择:因为它是一个 OGNL 表达式,您也可以尝试 #statevalue
。但我不确定何时使用 #
以及何时不使用
另一个选项:使用 struts 标签 s:select 并使用 value
属性预选选项。
我想select条件下拉选项。
<s:set var="defaultState" value="customerBean.state"/>
<select onchange="reflect(this);" name="customerBean.state" class="form-control" id="state">
<option>Select</option>
<s:iterator value="stateList" var="statevalue">
<s:if test="%{#defaultState.equalsIgnoreCase(stateValue)}">
<option id="stateVal" selected="selected"><s:property value="statevalue"/></option>
</s:if>
<s:else>
<option id="stateVal"><s:property value="statevalue"/></option>
</s:else>
</s:iterator>
</select>
这行不通。但是如果我把
<s:if test="%{#defaultState.equalsIgnoreCase('Alabama')}">
这有效。
请帮忙。
你确定不是简单的错别字?在您的代码中,您使用的是 stateValue
和 statevalue
。
除此之外,stateList
是一个简单列表还是 bean 列表?对于第二个选项,你必须使用类似 stateValue.value
.
另一种选择:因为它是一个 OGNL 表达式,您也可以尝试 #statevalue
。但我不确定何时使用 #
以及何时不使用
另一个选项:使用 struts 标签 s:select 并使用 value
属性预选选项。