!!!熟悉Struts的朋友进来帮帮忙!!!真是对Struts又爱又恨啊! 一个与有关的问题,诚征解决方案!!解决马上结贴给分!!!

javalz 2003-04-16 02:38:32
部分代码如下:
<logic:iterate id="a" name="bc" property="books" type="booksell.collection.bookBean">
<tr>
<td>
<html:link page="/aBook.do?bookID=" >
<bean:write name="a" property="bookName" /></td>
</html:link>
<td><bean:write name="a" property="publish" /></td>
<td><bean:write name="a" property="author" /></td>
<td><bean:write name="a" property="price" /></td>
</tr>
</logic:iterate>
以上代码对于用过struts的朋友应该不用解释了吧?
很多人都说<logic:iterate>不太好控制,这回我算是体会到了.
我想把bookName做成一个链接(如上),传递的参数是bookID(上面没赋值),它也是集合books里的object(为bookBean类型)里的一个属性(与其他几个属性一样)
想来想去,好像只能用诸如<%=***%>之类的语句来给bookID赋值,但是那样的话,bookID的值需要在外部从bookBean里调,然后再在jsp里面取,而且还要控制好循环,使其与bookName一一对应.难道就没有更好的方法了吗?

<logic:iterate>是内部自动调用属性的get方法的,我要得到bookID该如何get啊
各位是否有过类似的经验?
谢谢!!!

...全文
26 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
javalz 2003-04-16
  • 打赏
  • 举报
回复
To hzasp(asp) :
那个能用吗?我明天试试!
hzasp 2003-04-16
  • 打赏
  • 举报
回复
i also troubleed with that,almost got mad,now i use this:
<a href "/aBook.do?bookID=<%=a.getBookID()%>">........</a>
warmship 2003-04-16
  • 打赏
  • 举报
回复
学Struts不能太死。
建议熟悉jsp/servlet之后,在研读
一下struts的source,你会发现其实很简单。
ganh 2003-04-16
  • 打赏
  • 举报
回复
同意xueming1979()的第二种方案,struts1.02中不能将变量传给属性,属性只能接受字符串本身。struts1.1没用过,不清楚。
shihb 2003-04-16
  • 打赏
  • 举报
回复
我不太清楚,如果只是要得到当前这一个bean中的一个属性,为何不直接从你的a中取得?
<html:link page="/aBook.do?bookID="<%=a.getBookID()%>">
mine2014 2003-04-16
  • 打赏
  • 举报
回复
or this

<html:link page="/aBook.do"
paramId="bookId"
paramName="a"
paramProperty="bookID">
mine2014 2003-04-16
  • 打赏
  • 举报
回复
try this

<html:link page="/aBook.do?bookID="<%=a.getBookID()%>">
javalz 2003-04-16
  • 打赏
  • 举报
回复
大家来帮帮忙啊
struts到底能不能实现呢?
javalz 2003-04-16
  • 打赏
  • 举报
回复
To SniperPu(一个笨人) :

<html:link page="/aBook.do?bookID='<bean:write name="a" property="bookID"/>' ">
这样也不行啊
页面报错为:Attribute a has no value'
javalz 2003-04-16
  • 打赏
  • 举报
回复
TO : jsyx()
那样好像不行吧
把<bean:write name="a" property="bookID"/>做为参数的引用好像识别不了啊
SniperPu 2003-04-16
  • 打赏
  • 举报
回复
在你的bookID='...'中用<bean:write>替换掉"...",像下面这样子:

<logic:iterate id="a" name="bc" property="books" type="booksell.collection.bookBean">
<tr>
<td>
<html:link page="/aBook.do?bookID='<bean:write name="a" property="bookID"/'" >
<bean:write name="a" property="bookName" /></td>
</html:link>
<td><bean:write name="a" property="publish" /></td>
<td><bean:write name="a" property="author" /></td>
<td><bean:write name="a" property="price" /></td>
</tr>
</logic:iterate>
javalz 2003-04-16
  • 打赏
  • 举报
回复
To signboy(横) :

那样没问题,我只是没有把bookID显示出来而已

我是想把bookID作为参数
jsyx 2003-04-16
  • 打赏
  • 举报
回复
<html:link page="/aBook.do?bookID="<bean:write name="a" property="bookID" />" >
javalz 2003-04-16
  • 打赏
  • 举报
回复


大家帮忙啊
我是用<logic:iterate>做了一个书目的分页显示
然后想把书名作成连接,点击后查看这本书的详细内容
这样的话肯定要传递一个id作为参数的
书的信息(包括书名和id)都封装在bookBean中,books是一个List,里面的对象是bookBean类型,用<logic:iterate>实现对每本书的循环显示。
问题如上!
帮忙!谢谢!!!


signboy 2003-04-16
  • 打赏
  • 举报
回复
<bean:write name="a" property="bookID" />
这样有什么问题吗??

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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