忘高手来指教...急 有好的回复可以加QQ:136966692
例子如下:action中:
public ActionForward getAlloByUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) { AllowanceForm alloForm = (AllowanceForm) form;// TODO Auto-generated
// method stub
System.out.println("近来了么");
String thisPage = request.getParameter("thisPage");
Integer page = new Integer(thisPage);
request.setAttribute("thisPage", page); HttpSession session = request.getSession();
UserForm user = (UserForm) session.getAttribute("user");
List list = allobo
.getAlloByUser(user.getId().toString(), thisPage, max);
Integer maxPage = this.allobo.getAlloByUserSize(
user.getId().toString(), max);
Iterator it = list.iterator();
for (int i = 0; it.hasNext();) {
AllowanceForm former = (AllowanceForm) it.next();
System.out.println(former.getPId() + "人员ID");
List listly = allobo.getKindDataById(former.getPId().toString());
request.setAttribute("listlysize", listly.size());
System.out.println(listly.size() + "=============size");
Iterator its = listly.iterator();
for (; its.hasNext();) {
KindDataForm formly = (KindDataForm) its.next();
System.out.println(formly.getAName() + "拥有津贴"); //后台这个地方完全没问题可以根据人ID查找不同的拥有津贴然而吧listly传入前台后就只能获取最后一条信息。
request.setAttribute("listly", listly);
} }
request.setAttribute("maxPage", maxPage);
request.setAttribute("list", list);
return mapping.findForward("getAlloByAll");
}前台获参页面:
<table align="center" cellpadding="4" cellspacing="1"
class="toptable grid" border="1">
<tr align="center">
<td class="category" width="10%" align="center">
津贴编号
</td>
<td class="category" width="20%" align="center">
姓名
</td>
<td class="category" width="15%" align="center">
身份证号码
</td>
<td class="category" width="25%" align="center">
户号
</td>
<td class="category" width="20%" align="center">
拥有津贴(就是这个地方)
</td>
<td class="category" width="20%" align="center">
操 作
</td>
</tr> <c:forEach items="${list}" var="form"> <tr align="center" onMouseOver=this.className=
'highlight' onMouseOut=this.className=''>
<td width="10%" align="center">
${form.id }
</td>
<td width="20%" align="center">
${form.name }
</td>
<td width="15%" align="center">
${form.cardNum }
</td>
<td width="25%" align="center">
${form.doorId }=======${form.PId}
</td>
<td width="20%" align="center">
<c:forEach items="${listly}" var="item">
<html:link
action="/allowance?action=getAlloOneById&dId=${form.id}">
<font color="red">${item.AName }</font>
</html:link>
</c:forEach>
</td>
<td width="20%" align="center">
<html:link
action="/allowance?action=toChangAlloMoney&dId=${form.doorId}">
<font color="red">添加津贴数据</font>
</html:link>
</td>
</tr>
</c:forEach>
例子如下:action中:
public ActionForward getAlloByUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) { AllowanceForm alloForm = (AllowanceForm) form;// TODO Auto-generated
// method stub
System.out.println("近来了么");
String thisPage = request.getParameter("thisPage");
Integer page = new Integer(thisPage);
request.setAttribute("thisPage", page); HttpSession session = request.getSession();
UserForm user = (UserForm) session.getAttribute("user");
List list = allobo
.getAlloByUser(user.getId().toString(), thisPage, max);
Integer maxPage = this.allobo.getAlloByUserSize(
user.getId().toString(), max);
Iterator it = list.iterator();
for (int i = 0; it.hasNext();) {
AllowanceForm former = (AllowanceForm) it.next();
System.out.println(former.getPId() + "人员ID");
List listly = allobo.getKindDataById(former.getPId().toString());
request.setAttribute("listlysize", listly.size());
System.out.println(listly.size() + "=============size");
Iterator its = listly.iterator();
for (; its.hasNext();) {
KindDataForm formly = (KindDataForm) its.next();
System.out.println(formly.getAName() + "拥有津贴"); //后台这个地方完全没问题可以根据人ID查找不同的拥有津贴然而吧listly传入前台后就只能获取最后一条信息。
request.setAttribute("listly", listly);
} }
request.setAttribute("maxPage", maxPage);
request.setAttribute("list", list);
return mapping.findForward("getAlloByAll");
}前台获参页面:
<table align="center" cellpadding="4" cellspacing="1"
class="toptable grid" border="1">
<tr align="center">
<td class="category" width="10%" align="center">
津贴编号
</td>
<td class="category" width="20%" align="center">
姓名
</td>
<td class="category" width="15%" align="center">
身份证号码
</td>
<td class="category" width="25%" align="center">
户号
</td>
<td class="category" width="20%" align="center">
拥有津贴(就是这个地方)
</td>
<td class="category" width="20%" align="center">
操 作
</td>
</tr> <c:forEach items="${list}" var="form"> <tr align="center" onMouseOver=this.className=
'highlight' onMouseOut=this.className=''>
<td width="10%" align="center">
${form.id }
</td>
<td width="20%" align="center">
${form.name }
</td>
<td width="15%" align="center">
${form.cardNum }
</td>
<td width="25%" align="center">
${form.doorId }=======${form.PId}
</td>
<td width="20%" align="center">
<c:forEach items="${listly}" var="item">
<html:link
action="/allowance?action=getAlloOneById&dId=${form.id}">
<font color="red">${item.AName }</font>
</html:link>
</c:forEach>
</td>
<td width="20%" align="center">
<html:link
action="/allowance?action=toChangAlloMoney&dId=${form.doorId}">
<font color="red">添加津贴数据</font>
</html:link>
</td>
</tr>
</c:forEach>
解决方案 »
- 关于hibernate返回值list封装成一个数组的通用方法(求教)
- JDBC 急需
- 使用了Hibernate框架,查询数据库时查不到,抛出异常。怎么办
- hibernate 的问题:Configuration这一行报错
- java Char的问题 怎么在arrayloop 中间加个空格“ ” 请求帮助
- JPA Annotation相关的问题,设置关联
- hibernate不使用配置文件配置数据库连接的问题
- 请教一个很简单的struts问题
- 一个大菜鸟,有问题想问~
- 启动Tomcat时出现这种错误,怎么回事,求解答
- AOP拦截方法
- weblogic应用服务器java.lang.NullPointerException
request.setAttribute("listlysize", listly.size());
System.out.println(listly.size() + "=============size");
Iterator its = listly.iterator();
for (; its.hasNext();) {
KindDataForm formly = (KindDataForm) its.next();
System.out.println(formly.getAName() + "拥有津贴"); //后台这个地方完全没问题可以根据人ID查找不同的拥有津贴然而吧listly传入前台后就只能获取最后一条信息。
request.setAttribute("listly", listly);
} 你这样传过去是有问题的.你想啊!它每跌代一次就设置一次属性.而属性名依然是listly,这样的活它就只能显示最后一条数据了.
这是你犯的逻辑错误,需要小心伙计.
AllowanceForm former = (AllowanceForm) it.next();
System.out.println(former.getPId() + "人员ID");
List listly = allobo.getKindDataById(former.getPId().toString()); //难到这不算是动态的传参后返回的动态listly吗?
request.setAttribute("listlysize", listly.size());
System.out.println(listly.size() + "=============size");
Iterator its = listly.iterator();
for (; its.hasNext();) {
KindDataForm formly = (KindDataForm) its.next();
System.out.println(formly.getAName() + "拥有津贴"); //后台这个地方完全没问题可以根据人ID查找不同的拥有津贴然而吧listly传入前台后就只能获取最后一条信息。
request.setAttribute("listly", listly);
} }
你把这行放到循环里有什么用意吗?
也没看到他需要迭代啊,楼主的这个方法里思路是不是有点儿乱啊……