如何将一个字符串数组加载到一个从servlet发送值的combox中

时间:2011-05-05 11:08:56

标签: java jsp servlets

  

可能重复:
  How can i send an array of string from servlet to jsp and recieve it in jsp

我的Servlet代码 包DBCon;

import java.io. ; import java.net。; import java.util.ArrayList;

import javax.servlet。; import javax.servlet.http。; import java.sql。*; / **  *  * @author Nayan  * / public class loadCourseId扩展了HttpServlet {

/** 
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    ArrayList ar1=new ArrayList();
    ArrayList ar2=new ArrayList();
    int i;
    i=0;

    try
    {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost/online_exam?"+"user=root&password=pass");
        Statement stmt=con.createStatement();
        ResultSet rs=stmt.executeQuery("select * from course");

        while(rs.next())
        {
            ar1.add(rs.getString(1));
            ar2.add(rs.getString(2));
        }
        request.getSession().setAttribute("CourseID", ar1);
        request.getSession().setAttribute("CourseName", ar2);
        RequestDispatcher requestDispatcher=getServletContext().getRequestDispatcher("http://localhost:8080/ONLINE_EXAM/removeCourse.jsp");
        requestDispatcher.forward(request,response);


    }
     catch(Exception e) { 
        out.println("<h1>"+e.getStackTrace()+"</h1>");
    }
} 

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** 
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
} 

/** 
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
}

/** 
* Returns a short description of the servlet.
*/
public String getServletInfo() {
    return "Short description";
}
// </editor-fold>

}

Jsp Code是

                          window.onload = function LoadCombo()             {

           window.action="loadCourseId.do";
           ArrayList cd=new ArrayList();
           cd.add(request.getSession().getAttribute("CourseID"));
           if(cd.isEmpty()==false)
           {
               for(int i=0;i<cd.size();i++)
               {
                   var newOpt = cid.appendChild(document.createElement('option'));
                   newOpt.text = cd.get(i);

               }
           }
           else
           {
               alert("Course table is empty")
           }

        }

    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Remove Course</title>

                                        
                                               课程信息             

        <tr><td>
            <table width="666" height="207" border="0" align="center" bordercolor="#F0F0F0" bgcolor="#CCCC99" >
                <tr>
                    <td width="186" height="46" align="left"><div align="left"><span class="style19">
                    <label><strong>Course ID</strong></label>
                    </span></div></td>

                    <td><label>
                    <select name="cid" size="1" id="cid" align="left">


                    </select>
                    </label></td>
                </tr>
                <tr>
                    <td height="53" align="left"><div align="left"><label><span class="style21">Course Name</span></label></div></td>
                    <td align="left"><input name="cname" type="text" id="cname" size="50" maxlength="50" /></td>
                </tr>

                <tr>
                    <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
                    <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="save" type="submit" id="save" value="Save" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input name="reset" type="reset" id="reset" value="Reset" /></td>
                </tr>
            </table>
        </td></tr>
    </table>
</form>
</body>

但是通过编写这段代码,我无法将CourseID加载到combobos cid中。你能告诉我我的代码中的问题在哪里?请发送正确的代码。感谢。

0 个答案:

没有答案