在支柱 2 中测试迭代器值



我想在条件下拉列表中选择选项。

<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')}">

这行得通。

请帮忙。

您是否检查过这不是一个简单的错别字?在您的代码中,您正在使用stateValuestatevalue

除此之外,stateList是一个简单的列表还是豆子列表?对于第二个选项,您必须使用类似的东西stateValue.value.

另一种选择:因为它是 OGNL 表达式,您也可以尝试#statevalue。但我永远不确定何时与#一起使用,何时不使用。

另一个选项:使用 struts 标签 s:select,要预先选择该选项,请使用value属性。

相关内容

  • 没有找到相关文章

最新更新