我无法从Servlet中读取jsp中的输入值

时间:2015-09-13 11:04:08

标签: java jsp servlets tomcat8

在我的jsp中,我有许多输入类型编号标签。当我提交它们时,我会转到我的servlet,它需要读取它们以将值保存在数据库中。我尝试了get get属性,get参数,但它们总是返回null值。我也尝试过使用Servlet文件上传,但它返回一个类强制转换异常,说它无法将MonitorRequestWrapper强制转换为RequestContext。

我的jsp代码:

<form method="GET" action="HomeServlet">

    <c:forEach var="kat" items="${requestScope.Category}">            
        <h2 style="background-color:blue; color: white; width:150px;">${kat.getName()}</h2>
        <c:if test='${kat.getName() == "Bike"}'>
            <table>
            <c:forEach var="pro" items="${requestScope.Bikes}">
                <tr>
                <td><label>${pro.getName()}</label></td>
                <td><label>${pro.getPrice()}</label>&nbsp;<span>kn</span></td>
                <td><label>Amount:</label></td>>
                <c:set var="pr" value="proz"></c:set>
                <c:set var="prp" value="${pro.getStringID()}"></c:set>
                <c:set var="id" value="${pr.concat(prp)}"></c:set>
                <td><input type="number" name="${id}"></td>
                </tr>
            </c:forEach>
                </table>
        </c:if>
        <c:if test='${kat.getName() == "Ball"}'>
            <table>
            <c:forEach var="pro" items="${requestScope.Balls}">
                <tr>
                <td><label>${pro.getName()}</label></td>
                <td><label>${pro.getPrice()}</label>&nbsp;<span>kn</span></td>
                <td><label>Amount:</label></td>>
                <c:set var="pr" value="proz"></c:set>
                <c:set var="prp" value="${pro.getStringID()}"></c:set>
                <c:set var="id" value="${pr.concat(prp)}"></c:set>
                <td><input type="number" name="${id}"></td>
                </tr>
            </c:forEach>
                </table>
        </c:if>          
    </c:forEach>
        <br>
        <input type="submit" value="Choose">
    </form>

我的servlet代码:

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession sesija =request.getSession();

    try {
        r = new Repository();
        bouth = r.getBouthProducts();
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletContext servletContext = this.getServletConfig().getServletContext();
        File rep= (File) servletContext.getAttribute("javax.servlet.context.tempdir");
        factory.setRepository(rep);
        List<FileItem> items = new ServletFileUpload(factory).parseRequest((RequestContext) request);
        for (FileItem item : items) {
            for (Product pro : r.GetProducts()) {
                String s = "proz";
                String concat = s.concat(pro.getStringID());
                String name = item.getFieldName();
                if(name.equals(concat)){
                    int i = Integer.parseInt(item.getString());
                    if(i > 0)
                    {
                        - doesn't matter
                    }
                }
            }
        }
    } catch (SQLException ex) {
        response.sendError(ex.getErrorCode());
    } catch (FileUploadException ex) {
        Logger.getLogger(HomeServlet.class.getName()).log(Level.SEVERE, null, ex);
    }
   -- doesn't matter
}

0 个答案:

没有答案