【问题标题】:display data from servlet to drop down menu jsp从 servlet 显示数据到下拉菜单 jsp
【发布时间】:2016-02-10 06:47:48
【问题描述】:

我试图避免在 jsp 中为下拉菜单使用 java 代码。我首先不知道我的代码是否正确(我敢打赌还有其他错误)但我真正的问题是,我不知道如何允许 JSP 中的下拉菜单从 servlet 接收数据。基本上我希望用户从下拉菜单中选择任何讲师姓名,然后它将显示所选讲师的信息以进行更新(嗯,那是另一个故事)。我希望有人能帮帮忙。提前谢谢!

这是我的jsp代码:

<form action="updateLecturer" class="sky-form">
<header>Update Lecturer Information</header>
<center>
<fieldset>

<section>
<label class="select">
<select name="selectLecturer" id="lecturerFullname">
<option value="0" selected disabled>Lecturers Name</option>        
**<option name="lecturerFullname">I HAVE PROBLEM IN HERE!!!</option>** 
</select>

</label>
</section>

</center>
<footer>
<center><button type="submit" class="button">Update</button></center>
</footer>
</form>

这是我的 servlet(不确定它是否正确):

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {


        try {

            LecturerBean lecturer = new LecturerBean();
   lecturer.setLecturerFullname(request.getParameter("lecturerFullname"));

                        response.sendRedirect("updateLecturer.jsp");


        }

        catch (Throwable theException) {
            System.out.println(theException);
        }
    }

这是我的 web.xml 文件:

<servlet>
        <servlet-name>UpdateLecturerServlet</servlet-name>
        <servlet-class>CSP600.UpdateLecturerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>UpdateLecturerServlet</servlet-name>
        <url-pattern>/updateLecturer</url-pattern>
    </servlet-mapping>

这是我的 DAO:

 static Connection currentCon = null;
    static ResultSet rs = null;

    public static LecturerBean lecturerlogin(LecturerBean Lbean) {

        // preparing some objects for connection
        System.out.println("JIJIJI");
        Statement stmt = null;

        String lecturerID = Lbean.getLecturerID();
        String lecturerFullname = Lbean.getLecturerFullname();
        String lecturerPassword = Lbean.getLecturerPassword();

        System.out.println("j444444");


        String searchQuery = "select lecturerfullname from lecturer";

        System.out.println("Your lecturer is " + lecturerFullname);

        System.out.println("Query: " + searchQuery);

        try {
            // connect to DB
            currentCon = JavaConnectionDB.getConnection();
            stmt = currentCon.createStatement();
            rs = stmt.executeQuery(searchQuery);
           // boolean more = rs.next();

            while(rs.next())
            {
            rs.getString(lecturerFullname);
            }
        }

        catch (Exception ex) {
            System.out.println("Log In failed: An Exception has occurred! " + ex);
        }

        // some exception handling
        finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (Exception e) {
                }
                rs = null;
            }

            if (stmt != null) {
                try {
                    stmt.close();
                } catch (Exception e) {
                }
                stmt = null;
            }

            if (currentCon != null) {
                try {
                    currentCon.close();
                } catch (Exception e) {
                }

                currentCon = null;
            }
        }

        return Lbean;

    }

【问题讨论】:

    标签: java html jsp servlets drop-down-menu


    【解决方案1】:

    您传递到 DAO 的内容和从中返回的内容 - 是一回事。 这段代码也没有任何意义:

    while(rs.next()) {
        rs.getString(lecturerFullname);
    }
    

    您需要在doGet() 方法中创建DAO 对象的实例,然后填充一些列表并设置查询属性:

    req.setAttribute("lecturerList", lecturerList);
    RequestDispatcher rd = req.getRequestDispatcher("updateLecturer.jsp");
    rd.forward(req, res);
    

    然后使用 JSTL 在 JSP 页面中填充菜单:

    <select>
         <c:forEach var="lecturer" items="${lecturerList}">
              <option value="${lecturer.id}">${lecturer.fullName}</option>
         </c:forEach>
    </select> 
    

    【讨论】:

    • 为什么我必须使用 JSTL?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多