不知道为什么,在<display:table>中,不能通过OGNL表达式来访问其中迭代的属性值。如:
- <display:table name= "${backendListOwnerAction.currentDisplayList}" pagesize= "10" id= "ownerTable" >
- <display:column property= "id" title= "ID" sortable= "true" ></display:column>
- <display:column property= "ownerName" title= "业主名称" ></display:column>
- <display:column property= "cityName" title= "所在城市" ></display:column>
- <display:column property= "publishCount" title= "发布的房源数" sortable= "true" ></display:column>
- <display:column property= "registDate" title= "注册日期" >
- </display:column>
- <display:column title= "操作" autolink= "true" >
- <a href="
- <s:url action= "backendListOwnerAction!viewOwnerDetail" >
- <s:param name= "ownerId" value= "id" ></s:param> </s:url>
- " target=" _blank"> 详细信息</a>
- |
- <a href="
- <s:url action= "backendListOwnerAction!deleteOwner" >
- <s:param name= "ownerId" value= "id" />
- </s:url>
- " οnclick=" return deleteConfirm()">删除</a>
- </display:column>
- </display:table>
本来是想吧第一行的id通过参数<s:param>传递给ownerId,但是传递并不成功。
后来想到,可以用jstl的<c:set>先把参数设到request中,之后就可以在struts标签中通过#request方式把 参数读出来了。修改后的代码为:
- <display:table name= "${backendListOwnerAction.currentDisplayList}" pagesize= "10" id= "ownerTable" >
- <display:column property= "id" title= "ID" sortable= "true" ></display:column>
- <display:column property= "ownerName" title= "业主名称" ></display:column>
- <display:column property= "cityName" title= "所在城市" ></display:column>
- <display:column property= "publishCount" title= "发布的房源数" sortable= "true" ></display:column>
- <display:column property= "registDate" title= "注册日期" >
- </display:column>
- <c:set value= "${ownerTable.id}" var= "id" scope= "request" ></c:set>
- <display:column title= "操作" >
- <a href="
- <s:url action= "backendListOwnerAction!viewOwnerDetail" >
- <s:param name= "ownerId" value= "#request.id" ></s:param>
- </s:url>
- " target=" _blank"> 详细信息</a>
- |
- <a href="
- <s:url action= "backendListOwnerAction!deleteOwner" >
- <s:param name= "ownerId" value= "#request.id" />
- </s:url>
- " οnclick=" return deleteConfirm()">删除</a>
- </display:column>
- </display:table>
虽然绕了一个圈子,总算解决了displaytag与struts标签间传递参数的问题。