我有一个MCQ的ArrayList,从数据库中获取。一旦存储在列表中,我想在我的jsp视图中显示MCQ。 我的第一个问题是我如何将值输入ArrayList。通过两种方式发布我的代码,我认为我可以通过使用Question模型类(注释掉)或非注释方式来发布。
<table>
<tr>
<td>horizontal text</td>
<td class="vertical">long vertical text</td>
<td>horizontal text</td>
</tr>
</table>
第二个问题是,一旦我有了这个ArrayList,我就转到我的questions.jsp,用他们的选项显示这些问题。我是怎么做到的,我搜索并找到了&lt;逻辑:迭代&gt;标签,但无法使用它。
无论我的混淆大脑在jsp页面中写了什么代码:
public class QuestionsAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
List<String> questionList=new ArrayList<String>();
Statement stmt = null;
ResultSet rs=null;
Connection conn=DBConnection.createConnection();
stmt = conn.createStatement();
String query="SELECT * FROM questions";
rs = stmt.executeQuery(query);
while(rs.next())
{
/*
Question question = new Question(rs.getString("qid"),
rs.getString("question"),
rs.getString("answer1"),
rs.getString("answer2"),
rs.getString("asnwer3"),
rs.getString("answer4"),
rs.getString("correctAns"));
questionList.add(question);
*/
questionList.add(rs.getString("qid"));
questionList.add(rs.getString("question"));
questionList.add(rs.getString("answer1"));
questionList.add(rs.getString("answer2"));
questionList.add(rs.getString("answer3"));
questionList.add(rs.getString("answer4"));
questionList.add(rs.getString("correctAns"));
HttpSession session=request.getSession();
session.setAttribute("questionsList",questionList);
}
rs.close();
stmt.close();
conn.close();
return mapping.findForward("success");
}
}
答案 0 :(得分:0)
最好使用java类来映射问题。 e.g。
public class Question{
Long qid;
String question;
................. and so on
}
现在,您可以通过创建一个新的问题对象并将其添加到问题列表中,轻松地将所有值设置为相应的问题。
loop
{
Question question = new Question(); //use setter or constructor and use the value from resultSet
list.add(question);
}
对于第二部分,请参阅此示例。
http://codippa.com/how-to-iterate-over-list-of-objects-jstl/