求个解题思路,关于struts做在线考试系统
小弟在做考试系统,其中学生参加考试步骤是,
参加考试--从库中取题--到JSP显示--回到action中--model办卷--再写回库里
现在主要问题是从库中取题到JSP显示用哪种数据结构不太明白,HashMap?ArryaList?还是其他的,还有一个问题是jsp用logic:iterate输出,这点老写不对,尤其是在嵌套时
请各位帮我想想,最好能指出用哪种数据结构和logic:iterate的代码,麻烦各位了
分不够再加
问题点数:100、回复次数:7Top
1 楼myth822(↑八月的吟游者↑)回复于 2005-06-02 08:11:10 得分 30
在逻辑标记库中定义了<logic:iterate>标记,它能够根据特定集合中元素的数目对标记体的内容进行重复的检查。集合的类型可以是java.util.Iterator,java.util.Collection
,java.util.Map或是一个数组。有三种方法可以定义这个集合:
 使用运行时间表达式来返回一个属性集合的集合
 将集合定义为bean,并且使用name属性指定存储属性的名称。
 使用name属性定义一个bean,并且使用property属性定义一个返回集合的bean属性。
当前元素的集合会被定义为一个页作用域的bean。属性如下,所有这些属性都能使用运行时表达式。
属性 描述
collection 如果没有设置name属性,它就指定了要进行重复的集合
Id 页作用域bean和脚本变量的名称,它保存着集合中当前元素的句柄
indexed 页作用域JSP bean的名称,它包含着每次重复完成后集合的当前索引
Length 重复的最大次数
Name 作为集合的bean的名称,或是一个bean名称,它由property属性定义的属性,是个集合
Offset 重复开始位置的索引
property 作为集合的Bean属性的名称
Scope 如果指定了bean名称,这个属性设置bean的作用域。若没有设置,搜索范围从页到应用程序作用域
Type 为当前定义的页作用域bean的类型
例如:
<logic:iterate id=”currentInt”
collection=”<% =myList %>”
type=”java.lang.Integer”
offset=”1”
length=”2”>
<% =currentint %>
</logic:iterate>
<logic:iterate id="SubForm" name="MainForm" property="beanlist">
<TR bgcolor="white">
<TD nowrap><bean:write name="SubForm" property="name"/></TD>
</TR>
</logic:iterate>
代码将从列表中的第一个元素开始重复两个元素并且能够让当前元素作为页作用域和java.lang.Integer类型的脚本变量来使用。也就是说,如果myList包含元素1,2,3,4等,代码将会打印1和2。
Top
2 楼Harbin_SAKURA(樱)回复于 2005-06-02 10:34:57 得分 20
看你和数据库交互用什么方法了,JDBC比较简单,直接从数据源获得Connection,至于传数据什么都行吧,我以前做在线考试系统的时候用的是Vector,而且那个时候因为对Struts标签用的不是很熟,所以还在往jsp中加Java代码的方式显示查询结果Top
3 楼usherlight(xingtian)回复于 2005-06-02 12:43:37 得分 20
我推荐Vector或Arraylist,Hashmap可能会有顺序的问题。
<logic:iterate id="l" name="n" property="p">
<logic:iterate id="l1" name="l">
....
</logic:iterate>
</logic:iterate>
Top
4 楼mingr6370(丑男)回复于 2005-06-02 13:17:59 得分 0
比如说取题结果集有10道题,放到ArrayrList中,怎么才能有序,并且在JSP输出能够控制,比如:
<logic:iterate id="studentshow" name="studentshow">
<bean:write name="studentshow" property="studentName"/>
。。。。。。。
。。。。。。。
</logic:iterate>
我想要这样的效果,请问怎么写代码?Top
5 楼Maple99(Maple)回复于 2005-06-02 14:16:57 得分 0
關注中,值得學習的問題Top
6 楼jxdn_yang((我不想做IT了))回复于 2005-06-02 14:34:38 得分 30
Arraylist,排序可以用SQL的ORDER BY 排序 或是ORDER(COLLECTION)做,建议用ORDER BYTop
7 楼mingr6370(丑男)回复于 2005-06-06 13:09:45 得分 0
看看还有高见吗?Top




