请参阅以下代码:
<label>Subject:</label>
<s:select onchange = "form1.submit();"
theme = "simple"
list = "#{'':'All','E':'English','M':'Maths','S':'Science','H':'Humanities'}"
name = "Subject"
id = "Subject" />
但是当我在页面加载时将下拉菜单更改为E(英语)时,下拉菜单会更改为“全部”。并且数据也没有显示。
答案 0 :(得分:0)
当您将下拉列表更改为E(英语)时,会发生change
事件,并且您已使用onchange
事件处理程序将表单提交给服务器。服务器将页面返回给客户端,但由于未设置,因此它不知道应该设置的值。您应该更改事件处理程序以至少不使用序号请求提交表单,或者使用ajax发送数据,或者为命名字段创建getter和setter以保存列表中键的值。此外,您无法使用空键作为列表的值,因为它与选定的键不匹配。您还可以使用value
标记的s:select
属性从列表中预先选择值。