public List<HandlersMenu> getMenusByUserId(){
Handlers handlers = (Handlers) this.getRequest().getSession().getAttribute(Constants.SESSION_USER_OBJECT);
return menusList=this.pcManager.getMenusByUserId(handlers.getUId());
}
<s:iterator value="menusList" id="menus">
<tr>
<td width="9%" height="20" ><img id="xiaotu1" src="../images/ico06.gif" width="8" height="12" /></td>
<td width="91%"><a href="${menus.menuUrl}" target="mainFrame" class="left-font03" onClick="tupian('1');">${menus.menuName}
</a></td>
</tr>
</s:iterator>
我是这样写的 ,但是得不到啊
Handlers handlers = (Handlers) this.getRequest().getSession().getAttribute(Constants.SESSION_USER_OBJECT);
return menusList=this.pcManager.getMenusByUserId(handlers.getUId());
}
<s:iterator value="menusList" id="menus">
<tr>
<td width="9%" height="20" ><img id="xiaotu1" src="../images/ico06.gif" width="8" height="12" /></td>
<td width="91%"><a href="${menus.menuUrl}" target="mainFrame" class="left-font03" onClick="tupian('1');">${menus.menuName}
</a></td>
</tr>
</s:iterator>
我是这样写的 ,但是得不到啊
那个add就是提交执行的方法
Handlers handlers = (Handlers) this.getRequest().getSession().getAttribute(Constants.SESSION_USER_OBJECT);
return menusList=this.pcManager.getMenusByUserId(handlers.getUId());
}以上代码是在Action中写的吗?1.如果是:
<s:iterator value="menusByUserId" id="menus">2.如果不是:
必须把查询的结果放到request中,例:request.setAttribute("menusList", 查询结果);
<s:iterator value="#request.menusList" id="menus">
struts2已经把request全部封转了,你只要直接写一个与你的jsp页面上相同的list名称,通过设置它的get/set方法就可以获得啦,再说struts2中叶不是那样获得getSession的。。
请确认你的list种是否有数据,如果有数据,该确认的就是其他的细节,楼上各位已经提及。
<s:iterator value="menusList" id="menus">
<tr>
<td width="9%" height="20" ><img id="xiaotu1" src="../images/ico06.gif" width="8" height="12" /></td>
<td width="91%"><a href="${menus.menuUrl}" target="mainFrame" class="left-font03" onClick="tupian('1');">${menus.menuName}
</a></td>
</tr>
</s:iterator>
2。把menusList放到request中去这样就能获取到。
<s:iterator value="list">
<tr align="center">
<td><s:property value="loginName"/></td>
<td>
<s:a action="detail">
<s:text name="look"></s:text>
<s:param name="id" value="id"></s:param>
</s:a>
</td>
</tr>
</s:iterator>这是我的实例,是读取用户列表的。其中接收的list是一个类型为List<User>的参数。
而User里就有一个loginName的属性。在Action里对这个list有一个public的getList方法。
这样从Action跳转到Jsp后,就能读到了。另外输出属性loginName,我是用了<s:property value="loginName"/>这一句。
Action里有自己的一套栈基制,你去了解一下,比单纯的request存取,要深一点,表面上看起来很麻烦,实际上会帮你解决很多问题。用多了才知道。
<s:if test="list.size > 0">
<s:iterator value="list" status="RowStatus" id="financial">
<tr class='<s:if test="#RowStatus.even == true">tableRow1</s:if>'>
<td><input type="checkbox" name='ids'
value='<s:property value="id" />' /></td>
<td><s:property value="description" /></td>
<td><s:property value="count" /></td>
<td><s:property value="type" /></td>
<td><s:date name="date" format="yyyy-MM-dd"></s:date></td>
<td><s:property value="operatorNumber" /></td>
<td><s:a href="viewFinancial.action?id=%{#financial.id}">查看</s:a>
| <s:a href="deleteFinancial.action?id=%{#financial.id}"
onclick="return confirm('你确定要删除该记录吗?');">删除</s:a></td>
</tr>
</s:iterator>
</s:if>