java - JSP 输入数据 (Welcome.Jsp) 无法通过 Java 代码获取 (OrderProcessingAction.saveOrUpdate() )

标签 java hibernate jsp jakarta-ee struts2

JSP页面输入用户详细信息并发送到struts操作,struts.xml将操作映射到Action类OrderProcessingAction方法saveOrUpdate()并且此方法调用 DAO 类的 saveOrUpdateUser() ,其中实际数据访问数据库表字段。

以下是可交付成果:

  1. JSP 页面:Welcome.jsp
  2. ActionClass : OrderProcessingAction.java
  3. 数据访问: UserDaoFactory.java 对象
  4. struts.xml 文件
/**
 * Welcome.Jsp : Here my JSP page code.
 */
<s:form method="post" name="myform" action="saveOrUpdate.action">

    <s:textfield label="Customer Name" name="username" size="30"/>

    <s:password label="Customer Password" name="password" size="30"/>

    <s:textfield label="Contact No" name="contact" size="30"/>

    <s:textfield label="Email" name="email" size="30"/>

    <s:textfield label="City" name="city" size="30"/>


    <s:submit label="Submit" />
    <s:reset label="Clear"/>

</s:form>

这里是struts.xml 文件。

<action name="saveOrUpdate" 
        class="com.view.OrderProcessingAction" 
        method="saveOrUpdate">
 <result name="success">/Welcome.jsp</result>
</action> 

下面是我的 OrderProcessingAction (ActionClass),我在其中调用 DAO 类方法。

private String username;
private String password;
private int contact;
private String email;
private String city;

//Pojo class OrderPorcessing reference initiated
OrderProcessing user = new OrderProcessing();   

public String getUsername() {
    return username;
}
public void setUsername(String username) {
    this.username = username;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}   
public int getContact() {
    return contact;
}
public void setContact(int contact) {
    this.contact = contact;
}
public String getEmail() {
    return email;
}
public void setEmail(String email) {
    this.email = email;
}
public String getCity() {
    return city;
}
public void setCity(String city) {
    this.city = city;
}

  /**
  * To save or update user. 
   * @return String
  */
   public String saveOrUpdate(){

    userDaoFactory.saveOrUpdateUser(user);
    System.out.println("User Name: " +user.getUsername());
    return SUCCESS;
  }

下面是 DAO 类的 saveOrUpdate 方法。

     /**
     * Used to save or update a user by saveOrUpdate().
     * @return void
     */
      public void saveOrUpdateUser(User user) {
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        tx = session.getTransaction();

        session.saveOrUpdate(user);

        tx.commit();
        session.close();

    } catch (Exception e) {

        e.printStackTrace();
    }
}

最佳答案

而不是这样做

System.out.println("User Name: " +user.getUsername());

这样做

System.out.println("User Name: " +getUsername());

关于java - JSP 输入数据 (Welcome.Jsp) 无法通过 Java 代码获取 (OrderProcessingAction.saveOrUpdate() ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16394327/

相关文章:

java - 如何使用Java检查数据是否写入csv文件?

java - jbyte* 作为 JNI 中 native C++ 方法的 ByteBuffer

postgresql - 在 hibernate 中获取具有时区值的 itimestamp

java - noob,java spring autowired hibernate mysql 查询,这是对的吗?

javascript - 从jsp页面使用javascript获取元素的值

java - 我应该为聊天网站使用 PHP 还是 JSP?

java - 创建一个类似于 JOptionPane.showInputDialog() 的静态方法,但在对话框中使用我自己的组件

仅使用 JavaScript (Nashorn) 进行 JavaFX 开发

spring - init 方法调用失败;嵌套异常是 java.lang.NoClassDefFoundError : org/hibernate/util/DTDEntityResolver

angularjs - 多个 Controller 在angularjs中不起作用