日期:2014-05-18  浏览次数:20817 次

Struts的问题,希望用过的人进来看看,我表达不清楚,贴子里有详细说明。
刚用Struts不太明白,我项目里有一项是兴趣,在数据库中的存储结构是:hobby1,hobby2,hobby3……hobby10一共十个兴趣,有一个查询是查询出用户的信息。查询出来以后要显示,在显示兴趣一栏里,如果用户的兴趣只有一个,就只显示出来,如果用户的兴趣大于1个,那么就要生成一个链接显示。
      查询结果我放在了List中,页面显示如下:
<logic:present   name= "search "   scope= "session ">
    <logic:iterate   id= "element "   name   =   "search ">
    <td> <bean:write   name= "element "   property= "id "/> </td>
    <td> <bean:write   name   =   "element "   property   =   "name "/> </td>
    <td> <bean:write   name   =   "element "   property   =   "sex "/> </td>
<td> <bean:write   name   =   "element "   property   =   "hobby1 "/> </td>
    <td> <bean:write   name   =   "element "   property   =   "tel "/> </td>
    <td> <bean:write   name   =   "element "   property   =   "email "/> </td>
    </logic:iterate>
    </logic:present>
逻辑是这样的:定义一个 <logic:iterate> 来显示用户信息。加粗的文字就是兴趣,这里只有一条,式样书上是,如果大于一条要有一个链接,但是我不知道如何来判断还有没有 "hobby2 ",希望回贴的朋友有过亲自的开发经验,而不是只看过Struts的书。

------解决方案--------------------
判断一下,如果这个集合的size大于2,那么做另外的显示,如果是等于1又是一个显示
------解决方案--------------------
多选建议用html:multibox

这个可以logic:equal判断一下啊,如果list的size大于1显示链接,否则的话不显示

上面这个标签应该能满足楼主的要求

------解决方案--------------------
你在取得时候把hobby压到一个list里不就容易解决了,即
<logic:present name= "search " scope= "session ">
<logic:iterate id= "element " name = "search ">
<td> <bean:write name= "element " property= "id "/> </td>
<td> <bean:write name = "element " property = "name "/> </td>
<td> <bean:write name = "element " property = "sex "/> </td>
<td>
<logic:present name= "element " property = "hobbyList ">
<logic:iterate id= "element1 " name = "search " property= "hobbyList "indexId= "index ">
<td> <bean:write name= "element1 " property= "hobby " /> </td>
</logic:iterate>
</logic:present>
</td>
<td> <bean:write name = "element " property = "tel "/> </td>
<td> <bean:write name = "element " property = "email "/> </td>
</logic:iterate>
</logic:present>