如何从servlet中读取JSP下拉列表的值?

时间:2014-05-12 13:52:05

标签: forms jsp servlets

我已经正确地创建了JSP,它显示了'值'下拉格式的数据库。出于某种原因,我不确定在servlet中获取siteId值的正确方法。有人能帮助我吗?

以下是我的JSP中的相关代码:

    <form name="input" action="getMasterData" method="get">
        <br />
    <br />
    <h1 align='center'>Master Data File</h1>
    <br />
    <br />


    <table border="0" align='center'>
        <tr>
            <td>
                <h2>Site Name</h2>
            </td>
            <td align='left'>
            <jsp:useBean id="masterDao"         class="master.dao.MasterDataDao"/>
                     <select name="siteId" id="siteId">
                     <c:forEach items="${masterDao.allSites}" var="siteDto">
                     <option value="${siteDto.id}">${siteDto.name}</option>
                    </c:forEach>
                    </select></td>
                </tr>

            </table>
            <br />
            <br />
            <div style="text-align: center">
                <input type="submit" value="Submit">
            </div>

            </form>

这是我的Servlet:

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        MasterDataService masterDataService = new MasterDataService();
        try {
            System.out.println(request.getAttribute("siteId"));
            int siteId = (Integer) request.getAttribute("siteId");
            //=1650515; //intln(siteId);
            masterDataService.createMasterDataFile(siteId, 23);
            request.getRequestDispatcher("/masterDataQueryScreen.jsp").forward(request, response);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

我只是不知道在我的servlet中写什么来读取siteId。如果我需要提供更多信息,请告诉我。我是一个试图学习这种关系的新程序员。 提前谢谢大家。

1 个答案:

答案 0 :(得分:0)

当您提交<form>时,数据将作为请求参数传递,而不是作为请求属性传递。request.getParameter更改request.getAttribute

int siteId = Integer.parseInt(request.getParameter("siteId"));