用的是java+struts1的结构。
这段代码想实现将从数据库中读取到的问题库和答案库对应地显示在界面上,就像一张单选题试卷。每个题的单选选项数量不定,所有按钮都是灰的。如果数据库中已经有该学生的答案,就按照他的答案把对应的按钮选中。目前遗留的问题是:
1、不知道这段代码能不能实现显示试卷的功能;
2、不知道怎么写“如果数据库中已经有该学生的答案,就按照他的答案把对应的按钮选中”这个问题的实现;
3、不知道有什么逻辑错误。请高手指教!谢谢
<logic:notEmpty name="TestForm" property="lstMonsinItem">
<logic:iterate id="QuestionItems" name="TestForm"
property="lstQuestionItem">
<bean:define id="QuestionID" name="QuestionItems"
property="QuestionItemID" type="java.math.BigDecimal" />
<TR>
<TD>
<TABLE border=0 cellspacing=0 cellpadding=2
style="border-collapse:collapse;" class="list" width="650">
<logic:notEmpty name="TestForm" property="lstAnswerItms">
<logic:iterate id="answerItems" name="TestForm"
property="lstAnswerItms">
<bean:define id="answerID" name="answerItems"
property="AnswerItemID" type="java.math.BigDecimal" />
<logic:equal name="answerItems" property="QuestionID"
value="<%=QuestionID%>">
<TR>
<TD disabled><html:radio name="TestForm"
property="AnswerItemID" value="AnswerItemID"/> <bean:write name="TestForm"
property="AnswerItemName" /></TD>
</TR>
</logic:equal> </logic:iterate>
</logic:notEmpty> </TABLE>
</TD>
</TR>
</logic:iterate>
</logic:notEmpty>

解决方案 »

  1.   

    <%-- 
    题目QuestionItem qid ,listQuestionItems 是问题的List<QuestionItem>
    答案AnswerItem //对应的qid ,listQuestionItems 是答案的List<AnswerItem>
    学生答案 //aid ,listStudentsAnswerItems 是学生答案的List<StudentsAnswerItem>
    首先循环问题,
    再循环每个问题的答案
    然后循环学生的答案,把答案选种 
    --%>
    <logic:iterate id="questionItem" name="listQuestionItems">
    <logic:iterate id="answerItem" name="listAnswerItems">
          <logic:equal name="answerItem" property="QuestionID" value="${questionItem.QuestionID}">
          <logic:iterate id="studentsAnswerItem" name="listStudentsAnswerItems">
              <logic:equal name="answerItem" property="AnswerItemID" value="${studentsAnswerItem.AnswerItemID}">
          checked="checked"
          </logic:equal>
          <logic:notEqual name="answerItem" property="AnswerItemID" value="${studentsAnswerItem.AnswerItemID}">
          no check
          </logic:notEqual>   
        </logic:iterate>    
          </logic:equal>                   
    </logic:iterate>                       
    </logic:iterate>