java - JSP/Servlet 中的隐藏表单

标签 java html jsp servlets jakarta-ee

我想从我的jsp 获取参数到我的servlet。 所以我使用了输入表单,它适用于姓名和姓氏,但不适用于我的身份证。 这是我的 JSP 代码:

<tr>
                <td><form method="post" action="ServBddInsa">
                    <input type="hidden" name="id" id="id" value="testId"/>
                    <c:out value="${ utilisateur.id }" />
                    </form>
                </td>                                                           
                <td><c:out value="${ utilisateur.prenom }" /></td>
                <td><c:out value="${ utilisateur.nom }" /></td>
                <td><form method="post" action="ServBddInsa">                   
                        <p>                         
                            <label for="prenom"> Prenom :</label> <input type="text"
                                id="prenom" name="prenom" />                                                
                            <label for="nom"> Nom :</label> <input type="text" id="nom"
                                name="nom" />
                        </p>
                        <input type="submit" name="editer" value="editer" />

                    </form></td>
            </tr>
        </c:forEach>

还有我的 servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        BddInsa listU = new BddInsa();
        request.setAttribute("utilisateur", listU.recupererList());
        this.getServletContext().getRequestDispatcher("/WEB-INF/bddinsa.jsp").forward(request, response);


    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {      
        Utilisateur utilisateurs = new Utilisateur();
        utilisateurs.setNom(request.getParameter("nom"));
        utilisateurs.setPrenom(request.getParameter("prenom"));     
        utilisateurs.setId(request.getParameter("id"));             
        System.out.println(utilisateurs.getPrenom());
        System.out.println(utilisateurs.getNom());
        System.out.println(utilisateurs.getId());
        BddInsa listU = new BddInsa();
        listU.Editer(utilisateurs);     
        request.setAttribute("utilisateurs", listU.recupererList());
        this.getServletContext().getRequestDispatcher("/WEB-INF/bddinsa.jsp").forward(request, response);

    }


}

当我尝试查看 id 的值时,我得到 NULL

感谢您的帮助!

最佳答案

请问您可以尝试只使用一个打开和一个关闭表单标签吗?我认为你的问题是因为你有两个 <form method="post" action="ServBddInsa"> 。所以提交按钮位于第二个表单上。在这种情况下,不考虑第一个表单的隐藏字段,也不会发送它。

关于java - JSP/Servlet 中的隐藏表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51498047/

相关文章:

Javascript 执行函数 onload 但不触发按钮的 onclick 事件

java - Jsp session 和重定向

java - PWC1231 和 PWC6344

java - GridLayout 的程序逻辑错误

java - JSON 字符串以及如何处理转义字符

Windows 上的 Java : Test if a Java application is run as an elevated process (with Administrator privileges)

html - CSS牢不可破的链接

Java:为什么String相等性可以用==来证明?

javascript - 使用 javascript 动态更改 <div> 背景图像

java - 小程序类未找到错误