问题:当使用支持多选(s:select
)的select(multiple="true"
)元素和选项组(s:optgroup
)时,如果该字段具有与选项元素对应的值组元素,它们不会默认选中。
类似的配置可以按预期工作:
list
中的s:optgroup
被提供为s:select
元素的列表时,默认选择正确的选项。s:select
和s:optgroup
,则s:select
中的元素将被正确选中,但s:optgroup
中的元素将不会s:select
元素仅支持单个选择(无multiple="true"
),并且字段(mySelections)更改为整数而不是列表时,默认选择正确的选项。< / LI>
在所有情况下(问题案例和类似案例都按预期工作),所选元素正在被正确地提交给操作,正如人们所期望的那样,因为那时它只是HTML。
导致问题的JSP:
<s:select
name="mySelections"
list="#{9:'Z'}"
multiple="true"
size="5">
<s:optgroup
label="List A"
list="#{1:'A',2:'B',3:'C'}" />
<s:optgroup
label="List B"
list="#{4:'D',5:'E'}" />
</s:select>
关于它与UI主题有关的机会,我试图反对&#34;简单&#34; (我实际使用的那个)和默认值(&#34; xhtml&#34;),但这两个问题都存在。
有open JIRA issue看起来相关,因为用户的示例确实指定了多选字段,但用户不确定单选是否有效。
如果这是JIRA问题所暗示的已知问题,是否存在已知的解决方法?但是,如果这是Struts2的一个问题,似乎更频繁地注意到这一点,因此我怀疑这是我的错误,而不是引起问题的框架。
我的实际案例与上面的示例之间的差异:在我的实际案例中,list
是操作的属性,而不是静态,而s:select
列表没有元素({}
)。
Struts 2的版本是2.3.16.2。
我的期望是建议的解决方法是使用JSP生成select
标记及其后代。如果是的话,有没有&#34;陷阱&#34;关于在我的界面中使用非Struts标签?