我正在使用Struts和TLD。
我有一个像这样的代码:
<html:select property="endAMPM" styleClass="inputField">
<html:option value=""></html:option>
<html:option value="AM" bundle="calendar" key="default.time.am"></html:option>
<html:option value="PM" bundle="calendar" key="default.time.pm"></html:option>
</html:select>
对于英语区域设置,它正确渲染值,但对于其他非英语区域设置,它不会将默认值视为预选。
所以,我修改了这样的代码:
<bean:define id="am4"><bean:message bundle="calendar" key="default.time.am"/></bean:define>
<bean:define id="pm4"><bean:message bundle="calendar" key="default.time.pm"/></bean:define>
<html:select property="endAMPM" styleClass="inputField">
<html:option value=""></html:option>
<html:option value="<%=am4%>" bundle="calendar" key="default.time.am"></html:option>
<html:option value="<%=pm4%>" bundle="calendar" key="default.time.pm"></html:option>
</html:select>
现在,它正在正确地重新选择所选值。但是,当我提交表单时,它没有将正确的值传递给 ActionClass 。
使用AM和PM值可以正常工作,但不会在UI上呈现所选值。
来自org.apache.struts.taglib.html:
if(this.selectTag()。isMatched(this.value)){ results.append(“selected = \”selected \“”); }
有没有办法将值保持为AM和PM并仍能正确呈现所选值?