【发布时间】:2013-04-29 22:44:36
【问题描述】:
JSP 页面输入用户的详细信息并发送到struts 动作,struts.xml 将动作映射到动作类OrderProcessingAction 方法saveOrUpdate() 并且此方法调用DAO 类的saveOrUpdateUser(),其中实际数据访问DB 表字段。
以下是可交付成果:
- JSP 页面 : Welcome.jsp
- ActionClass : OrderProcessingAction.java
- 数据访问: UserDaoFactory.java 对象
- 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();
}
}
【问题讨论】:
-
似乎您已经跳过了 strut、hibernate 和所有天堂般的框架,而没有清除您的基本知识,例如 JSP 和应用程序服务器交互。虽然你并不孤单。大多数人甚至在没有先了解其本质的情况下就被推入 SPRING STRUT 事物。以至于有些新手认为没有这些框架就无法设计应用程序。我会建议你对 Request 对象、Session 对象等基础做更多的研究,然后学习为它们设计的包装器。
-
是的!感谢指正:)但我所说的一切,我仍然坚持。
-
@mawia :我知道您给了我正确的指导。是的,我是新手。我没有在用户参考中获得价值。我知道我在获取这些值的某个地方是错误的。让我知道我的不足之处。
标签: java hibernate jsp jakarta-ee struts2