java - 将参数从 JSP 页面传递给 java 方法以持久保存到数据库

标签 java jsp jakarta-ee servlets jpa

我正在尝试创建一个注册 JSP 页面,当点击提交时,我希望它将输入的信息传递给 java 类中的 addUser 方法

这是我的 JSP 页面:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org /TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Registration</title>
</head>
<body>
<center>
            <h2>Signup Details</h2>
            <form action="RegisterUser.java" method="post">
            <br/>Username:<input type="text" name="username">
            <br/>Password:<input type="password" name="password">
            <br/>Email:<input type="text" name="email">

            <%= String name = request.getParameter("username");
                String pass = request.getParameter("password");
                String email = request.getParameter("email");
                User u = new User();
                u.setName(name);
                u.setPassword(pass);
                u.setEmail(email);%>

            <br/><input type="submit" value="Submit" action="RegisterUser.addUser(u)">
            </form>
        </center>

</body>
</html>

单击“提交”后,我想使用以下方法将详细信息添加到数据库

public class RegisterUser {
     private static final String PERSISTENCE_UNIT_NAME = "User";
     private static EntityManagerFactory factory;
     private User user;

     public void addUser(User user){
         factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
         EntityManager em = factory.createEntityManager();
         // Create new user
         em.getTransaction().begin();
         em.persist(user);
         em.getTransaction().commit();
         em.close();

最佳答案

您必须创建一个 Servlet 来处理您的表单并调用 addUser() 方法。

您不能直接从 JavaScript 调用 Java 方法。

这里有一个关于这个主题的很好的教程。

http://www.tutorialspoint.com/servlets/servlets-form-data.htm

关于java - 将参数从 JSP 页面传递给 java 方法以持久保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23116770/

相关文章:

java - "power of 2"在 java.util.HashMap 实现中的意义

java - 如何确保只创建具有特定状态的表行?

jsp - session.invalidate() 在 Websphere Application Server 中不起作用

java - 在 GlassFish 中为远程数据库创建 JDBC 连接池

java - 更改大小后 GUI 将无法加载

java - 为什么这个列表有错误?

java - Jsp session 和重定向

java - 在 JSTL 中用时间减去两个日期

java - JBoss - 用户事务未启动

java - 将mac地址转换为整数导致数字格式异常