比如我一个问卷有类型,然后每个类型下面有不同的题目,每个题目下面有4个选项,我得到了题目,但是得到的题目下面的选项却是相同的,我要怎么才能得到每个题目下面的对应的选项呢?
我的Java代码String aid = request.getParameter("aid");
AType aType = this.atypeSevBean.getAtypeById(Integer.parseInt(aid));
List qlist = new ArrayList(aType.getQuestionses());
request.setAttribute("qlist", qlist);
for(int i = 0;i<qlist.size();i++){
List cList = new ArrayList(((Questions)qlist.get(i)).getChooses());
request.setAttribute("clist", cList);
} jsp代码:
<td height="35" align="right">题目名字:</td>
<td align="left" height="35">
<s:iterator value="#request.qlist">
<h1>${questName }</h1><br/>
<s:iterator value="#request.clist">
${chooseName }<br/>
</s:iterator>
</s:iterator>
</td>
我的Java代码String aid = request.getParameter("aid");
AType aType = this.atypeSevBean.getAtypeById(Integer.parseInt(aid));
List qlist = new ArrayList(aType.getQuestionses());
request.setAttribute("qlist", qlist);
for(int i = 0;i<qlist.size();i++){
List cList = new ArrayList(((Questions)qlist.get(i)).getChooses());
request.setAttribute("clist", cList);
} jsp代码:
<td height="35" align="right">题目名字:</td>
<td align="left" height="35">
<s:iterator value="#request.qlist">
<h1>${questName }</h1><br/>
<s:iterator value="#request.clist">
${chooseName }<br/>
</s:iterator>
</s:iterator>
</td>
解决方案 »
- java web工程读取excel特殊字符乱码
- 关于hql语句的问题
- 我发现支付宝网站,竟然允许同一帐户在多处同时登录,太不安全了
- 请教关于null和空值的问题
- 正则表达式
- 如何将bean中的属性值用insert语句插入到数据库里呢?
- 怎样sql语句在SQL Server里面取出指定的一些数据(如从第50行开始取100行)
- 简单的JSP页面如何实现这个功能
- 我调用Bean里的很简单的方法老是出错,帮我看看!
- TO:ycats(加菲猫),快来救我我快要没有命了,出现了一个致命的问题,我已经好几天茶饭不吃了????
- 表字段中有默认值,bean.hbm.xml中怎样设置
- jsp页面什么实现上传图片功能?
List cList = new ArrayList(((Questions)qlist.get(i)).getChooses());
request.setAttribute("clist", cList);
}
都只存了一个cList;后面的被前面的覆盖了。
request里的clist只剩下最后一个选项
这个应该不是sql语句的问题吧?我后台是输出来了的啊
那我是不是每一个得到之后在把他放在一个list或者是map里面啊?
List cList = new ArrayList();
for(int i = 0;i<qlist.size();i++){
Questions questions = qlist.get(i);
cList.add(questions.getChooses());
}
request.setAttribute("clist", cList);
每个类型下面有不同的题目,每个题目下面有4个选项,我得到了题目,但是得到的题目下面的选项却是相同的,我要怎么才能得到每个题目下面的对应的选项呢?
这里只说说大致的思路:
List 1、首先你根据你的题目类型进行查询或用group by 按类型分组,即可以得到题目的类型;
List 2、然后根据每个类型和类型的编号id进行查询题目;
List 3、根据题目的编号或id进行查询题目的选项;这里是3层list,即list1放入的题目类型,类型里面有个list放入的是题目,题目里面有个list放的是题目的选项;
<c:forEach items="${list1 }" var="a">
类型:${a.type}
题目:<c:forEach items="${a.list2 }" var="b">
${b.questionses}
选项:<c:forEach items="${b.list2 }" var="c">
${c.item}
</c:forEach>
</c:forEach>
</c:forEach>所以你在存放list的时候就和上面的相反,颠倒过来把值放入list即可。
问题表(有题目类型ID)
答案表(应该说每个问题的答案都不同吧,一般就4个答案只有一个正确的)
那么。你首先根据题目类型,查询出所有符合类型的问题存为一个几个(这步你应该做了)
然后再查出所有答案存为一个集合
在页面 两层循环
外层循环所有问题
里层循环答案,然后判断答案表的问题ID和外层的ID是否相等要么在后台做成Map形式,以问题为key答案为value
struts2 标签 的取法是这样设的吗?
你只要到ACTION 中设置get set 方法 就可以 到页面取到值 。
for(int i = 0;i<qlist.size();i++){
cList = ((Questions)qlist.get(i)).getChooses()
}request.setAttribute("clist", cList);
<s:iterator value="#request.qlist">
<h1>${questName }</h1><br/>
<s:iterator value="#request.clist">
<s:property value="value[0]"/><br/>
<s:property value="value[1]"/><br/>
<s:property value="value[2]"/><br/>
<s:property value="value[3]"/><br/>
<s:property value="value[4]"/><br/>
</s:iterator>
</s:iterator>
类似这种方式访问