【问题标题】:Struts2 radio: preset value if model is not setStruts2 radio:如果未设置模型,则预设值
【发布时间】:2016-06-25 15:38:32
【问题描述】:
我的表单页面中有一个单选标签。默认选择“否”。
<s:radio label="Yes NO" name="accept" list="#{'Y':'Yes','N':'No'}" value="'N'"/>
但如果我选择“是”并将表单保存到数据库并重新渲染,那么当数据库和接受属性设置为“是”时,收音机仍显示“否”。
我错过了什么?
【问题讨论】:
标签:
jsp
struts2
radio-button
radio
struts-tags
【解决方案1】:
使用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 属性预设它。