spring form:checkboxes itemLabel 多个字段

xun_2008 2013-03-23 09:42:50
Thesis和SearchType是多对多关系,其中Thesis里有一个属性searchTypeList
我知道在页面可以这样用:
<form:checkboxes path="searchTypeList" items="${allSearchType}" itemLabel="name" itemValue="id" />
但这样itemLabel只可以显示一个字段属性,比如name,要是我想显示多个字段,比如想显示id:name,有什么办法呢?
我尝试过这样使用:

<c:forEach items="${allSearchType}" var="st">
<input type="checkbox" name="searchTypeList" value="${st.id}" />${st.id}:${st.name}<br/>
</c:forEach>

这样子会有两个问题:
1.是传的value,如st.id,到后台只是SearchType对象的id,不会知道转成SearchType对象,当然这样还可以自己手动转;
2.在update进到改页面时,无法赋值,就是把原来就选好的值在相应checkbox方框打钩

这个问题困扰了本人好久,希望在这里可以得到各位大神的帮助,先谢谢了
...全文
499 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyida11 2013-12-23
  • 打赏
  • 举报
回复
你好,你还记得怎么解决这个问题的吗,我现在也遇到这个问题,显示多个字段,你上面说的showTag来解决我不是还能明白,能再具体说一下吗
xun_2008 2013-03-27
  • 打赏
  • 举报
回复
问题自己解决了,思路还是根据问题得来,既然spring标签form:checkboxes只可以显示一个字段做LabelItem,我就再加一个@Transient//非持久化属性showTag,然后再准备将list传到页面的controller将要显示的字段的值循环的showTag,然后在页面使用 <form:checkboxes path="searchTypeList" items="${allSearchType}" itemLabel="showTag" itemValue="id" /> 这就OK了,不过根据自己的感觉,多对多用这种方式关联,如果数据量大会很慢,效率不行。有兴趣可以再研究研究。 再次谢谢楼上的回答。
Loon_ 2013-03-23
  • 打赏
  • 举报
回复
把ID设置为隐藏域提交,显示名称。 希望对你有帮助!

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧