【问题标题】:Working with an ArrayList in an Action class and JSP view (Struts 1.x)在 Action 类和 JSP 视图中使用 ArrayList (Struts 1.x)
【发布时间】:2017-12-15 02:06:47
【问题描述】:

我有一个 MCQ 的 ArrayList,从数据库中获取。一旦存储在列表中,我想在我的 jsp 视图中显示 MCQ。 我的第一个问题是我如何将值纳入 ArrayList。使用我认为可以做到的两种方式发布我的代码,通过使用问题模型类(已注释掉)或非注释方式。

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");
}
}

第二个问题是,一旦我有了这个 ArrayList,我就去我的 questions.jsp 显示这些问题及其选项。我该怎么做,我搜索并找到了 标签但无法使用。

无论我困惑的大脑在jsp页面中写了什么代码:

<logic:iterate name="questionList">

    <bean:write name="??" property="question" />

    <li> <bean:write name="??" property="answer1" /> </li>      
    <li> <bean:write name="??" property="answer2" /> </li>
    <li> <bean:write name="??" property="answer3" /> </li>
    <li> <bean:write name="??" property="answer4" /> </li>


</logic:iterate>

【问题讨论】:

  • 你想在哪个html元素中显示它(组合框、表格还是单选列表??)
  • 电台列表!抱歉没有说明!

标签: java jsp jakarta-ee arraylist struts-1


【解决方案1】:

最好使用 java 类来映射 Question。例如

public class Question{
  Long qid;
  String question;
................. and so on
}

现在您可以通过创建一个新的 Question 对象并将其添加到 Questions 列表中,轻松地为各个问题设置所有值。

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/

【讨论】:

  • 太棒了。这是我的代码的注释部分。谢谢你。现在如何在我的 jsp 视图中显示它?
猜你喜欢
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 2011-08-17
相关资源
最近更新 更多