日期:2014-05-17  浏览次数:20729 次

struts2 iterator标签的比较复杂的使用 求 助!
我在用 struts2 做一个考试系统
题目表的结构式这样的
主键 id  其它字段 content, itemType ,select1,select2,select3,select4 ,key
说明: 这里面 itemType是题目的类型 有 填空题,单项选择题,多项选择题,判断题
key是这道题的标准答案
select1,select2... 是选项 填空题时都为空, 判断题时 两个为空 如此 表示不同的类型的题目
我把该表封装成一个实体类 Item
 
在一个学生开始考试时 
先在action里先抽取题目 放到 action里的 List<Item> items; 里
另外有个 List<String> answers; 属性 为的是记录每次考生的某道题的答案 最后提交后和 正确答案比较
这些在后台都已经调试成功 已经达到相应的值
问题出现在了前台的取值上
 
<s:form action="..."  method="post" theme="simple">
<s:iterator id="item" var="items" status="i">


<s:label name="#item.content"></s:label>
 
<!-- ========= 如果是填空题 =======-->
     <s:if test="#item.type==1">
      .....
     </s:if>
<!--========== 如果是判断题 =======-->
<s:if test="#item.type==2">
...
</s:if>
<!--========== 如果是单项选择题 =======-->
<s:if test="#item.type==3">
</s:if>
<!--========== 如果是多项选择题 =======-->
<s:if test="#item.type==4">

</s:if>
</s:iterator>
</s:form>
 
上面的对题目的判断 和 题目的内容 content 页面显示已经成功 
问题就是如何显示 题目的选项 并且在点击提交后要将选项的值 提交给后台(作为表单) 
而且是每一道题的答案按顺序放到answers里
选项的值对应成A B C D就行  
填空题没有选项的问题  单选,判断用 radio   多选用checkbox
我试了 struts2中的 radio 和checkbox标签 但是 list属性 不会表示
后来想用 html的基本表单标签  但又想到 多个题目的name属性怎么写呢,多个题 每个题又多个选项
 
而且 我对于 用<s:form>标签 或<form>标签 里面用 struts2的 或是html的标签混用 是否有效不懂 
 
做到这卡住了,显示都没显示出来 提交的时候又是怎么弄  
求高手 指点 
不管用 struts2标签也好 还是用html也好 不管 el表达式 struts2的表达式也好 能达到这个考试的功能就行


------解决方案--------------------
首先 你呢 要对题目进行分类 在同一个页面只能显示同一类型的题目
当题目为多项选择题的时候 你在struts2你的实体对象应该为 每页显
示多少的题目就有多少的集合对象来接收答案集合



解决方案 不是很好仅供参考
             我是菜鸟??