Struts2 radio: 没有设置模型时的预设值
Struts2 radio: preset value if model is not set
我的表单页面中有一个单选标记。默认情况下,"No" 是 selected。
<s:radio label="Yes NO" name="accept" list="#{'Y':'Yes','N':'No'}" value="'N'"/>
但是如果我 select 是并将表单保存到数据库并重新呈现,那么在设置数据库和接受 属性 时收音机仍然显示 'No'至:'Yes'。
我错过了什么?
对于 value="'N'"
,您强制值始终为 N。
您需要从属性动态读取值,在操作中预先设置它:
private String accept;
public String getAccept(){
if (accept==null) { accept = "N"; }
return accept;
}
<s:radio label="Yes NO" name="accept" list="#{'Y':'Yes','N':'No'}" value="%{accept}"/>
甚至更干净,完全删除 value 属性:
<s:radio label="Yes NO" name="accept" list="#{'Y':'Yes','N':'No'}" />
并且它会用name属性预设它。
我的表单页面中有一个单选标记。默认情况下,"No" 是 selected。
<s:radio label="Yes NO" name="accept" list="#{'Y':'Yes','N':'No'}" value="'N'"/>
但是如果我 select 是并将表单保存到数据库并重新呈现,那么在设置数据库和接受 属性 时收音机仍然显示 'No'至:'Yes'。
我错过了什么?
对于 value="'N'"
,您强制值始终为 N。
您需要从属性动态读取值,在操作中预先设置它:
private String accept;
public String getAccept(){
if (accept==null) { accept = "N"; }
return accept;
}
<s:radio label="Yes NO" name="accept" list="#{'Y':'Yes','N':'No'}" value="%{accept}"/>
甚至更干净,完全删除 value 属性:
<s:radio label="Yes NO" name="accept" list="#{'Y':'Yes','N':'No'}" />
并且它会用name属性预设它。