struts2.0.11中的radio标签不能默认选中问题的解决

hilliate 2008-07-04

找了很长时间,与网上的都不太相符,可能是版本不同吧,struts2竟然有那么多问题,真是费解。
先把标签体列出来吧:

 

<s:radio name="user.sex" list="#{0:'男',1:'女'}" listKey="key" listValue="value" value="0"></s:radio>

 无论怎么样,默认都不会选择 男

最后找到ftl文件中的相关代码如下:

    <#assign itemKeyStr = itemKey.toString() />
    <#if parameters.listValue?exists>
        <#assign itemValue = stack.findString(parameters.listValue)/>
    <#else>
        <#assign itemValue = stack.findString('top')/>
    </#if>
<input type="radio"<#rt/>
<#if parameters.name?exists>
 name="${parameters.name?html}"<#rt/>
</#if>
 id="${parameters.id?html}${itemKeyStr?html}"<#rt/>
<#if tag.contains(parameters.nameValue?default(''), itemKeyStr)>
 checked="checked"<#rt/>
</#if>

  注意上述代码中的橙红色部分。

最后将下面的itemKeyStr改为itemKey,问题解决。

 

忘了说了,这是theme为simple的template

hilliate 2008-07-04
关于这个默认不能选中的问题,网上列出来一大堆,难道struts2官方就无动于衷?大家知道哪个版本的bug较少吗?为这样一个问题折腾半天实在不值得
zc2yhy 2008-07-05
尝试一下struts2.1.2,新版本,struts2仍然在完善中,它将spring,ognl等的新版本组件融入其中,要适应整个软件产业的发展,它就需要不断的更新技术,我们也是牺牲品啊,不能期待最终版本,只能期待struts2的稳定版本吧,对于任何技术都是
hilliate 2008-07-06
在struts官网上面struts2.0.11.2是“best available”最为推荐使用的,而且2.1.x系列与2.0.x系列有不少不同的地方,建议别动,先试试2.0.11.2吧,2.1系列现在还处在beta阶段
hilliate 2008-07-06
struts2.0.11.2已经解决了这个问题,刚用上,不知道会不会碰上别的bug……
我原来用的是2.0.6
zc2yhy 2008-07-10

恩,我刚才看了一下,我下载的时候还真没注意那个说明,或者那个时候没有?头疼啊,他还要配合xwork的发展和spring做整合,什么时候能建立起一个完好的社区呢

luojiy 2008-10-20
<s:radio name="user.sex" list="#{0:'男',1:'女'}" listKey="key" listValue="value" value="'0'"></s:radio>

注意 value="'0'"
kyo100900 2008-10-21
struts2的BUG确实不少,版本之间差别也挺大,有问题了,还得弄清哪个版本再测。
番茄有益 2009-08-18
我对struts2 的稳定性简直是忍无可忍,从2.06-2.08-2.011 每个版本都有些奇怪的问题,tag 到现在都各种各样的问题,tree标签使用label属性后居然不能正常工作,还有哪几个奇怪的selectTopic属性要到2.1版本修复,,checkboxlist 中的 cssStyle 在模板中根本没有写,怎么回事,就是吧webwork2.2.7抄过来也不至于这么烂吧,最后还要说哪个dojo,怎么选了这个最没有前途的试验库呢
hilliate 2009-08-19
搞了很长时间之后,觉得最好还是别用struts2的标签了,json在整个系统中串联,还是蛮好的。
Global site tag (gtag.js) - Google Analytics