1

.jsp 文件

 <s:iterator value="questions" status="status">
   <table border="3px" bgcolor="yellow">
   <tr bgcolor="white" >
   <td nowrap><s:property value="QuestionNumber"/></td>
   <td nowrap><s:property value="Question"/></td>
   </tr>
   <tr>
   <td nowrap><input type="radio" name="<s:property value="QuestionNumber"/>" value="1"/><s:property value="Option1"/></td>
   <td nowrap><input type="radio" name="<s:property value="QuestionNumber"/>" value="2"/><s:property value="Option2"/></td>
   </tr>
   <tr>
   <td nowrap><input type="radio" name="<s:property value="QuestionNumber"/>" value="3"/><s:property value="Option3"/></td>
   <td nowrap><input type="radio" name="<s:property value="QuestionNumber"/>" value="4"/><s:property value="Option4"/></td>
   </tr>
   </table>
   <s:hidden> </s:hidden>
 </s:iterator>
 <s:hidden id="answers" value="answers"/>
 <s:submit name="submit" onclick="submitform()"/>
</s:form>

使用 Action 类从 DB 填充属性值。我的问题是我想收集测验的答案列表并将其提供给 Java 类以评估分数。我不知道该怎么做

我的数据库有问题表,其中包含带有选项和正确答案的问题列表。

我有一个问题 Bean 对象。

4

2 回答 2

0

有很多方法可以做到这一点。最简单的方法是实现ParameterAware,签出链接ParameterAware,然后您可以像这样获取所有参数:(我假设,QuestionNumber是您的 bean 的参数question

String param1 = parameters.get(question.getQuestionNumber);

你可以把这条线放在一个循环中,这样你就可以得到所有的参数......

于 2012-11-03T10:08:38.797 回答
0

你有一个带有private List<Question> questions;, 带有 Getter 和 Setter 的动作。

您从 Getter 读取列表来填充您的 JSP。

您可以使用 OGNL 将该列表从 JSP 发布回 Action 的 Setter,以保留有关行详细信息的信息。

为此,请使用 Struts 标记(<s:radio而不是<radio)并设置包含行索引的名称。

例如,使用文本字段,而不是

 <s:iterator value="questions" status="status">
     <s:textfield name="question" />
 </s:iterator>

使用类似的东西(未经测试,可能需要一些调整)

 <s:iterator value="questions" status="status">
     <s:textfield name="questions[%{#status.index}].question" />
 </s:iterator>

只需将其调整为您的收音机外壳,

在 Action 中,您将收到完整填充的列表。

(您甚至可以验证像这样使用访问者验证器发布的列表:不是您的情况,但值得了解)。

于 2012-11-03T19:21:39.200 回答