Java 无法从数据库中获取数据

Java 无法从数据库中获取数据,java,struts2,html-select,Java,Struts2,Html Select,请参见下面的代码: <label>Subject:</label> <s:select onchange = "form1.submit();" theme = "simple" list = "#{'':'All','E':'English','M':'Maths','S':'Science','H':'Humanities'}" name = "Subject"

请参见下面的代码:

<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(英语)时,下拉列表将更改为“全部”,并且数据也不会显示。

当您将下拉列表更改为E(英语)时,
change
事件发生,并且您使用了
onchange
事件处理程序将表单提交给服务器。服务器将页面返回给客户端,但不知道应该设置什么值,因为它没有设置。您应该更改事件处理程序,使其至少不随顺序请求提交表单,或者使用ajax发送数据,或者为命名字段创建getter和setter,以保存列表中键的值。此外,不能将空键用作列表的值,因为它与选定的键不匹配。您还可以使用
s:select
标记的
value
属性从列表中预先选择值

请确认代码读取正确-HTML看起来格式不正确。我认为stackoverflow现在不允许这样写确切的代码,请参见上文,我已经写了正确的代码,请告诉我答案