当前位置:K88软件开发文章中心网站服务器框架Struts2 → 文章内容

Struts2 Hibernate集成

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-25 14:39:46

生的列表。 package cn.k88.struts2;import java.util.ArrayList;import java.util.List;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import cn.k88.hibernate.Student;import cn.k88.hibernate.StudentDAO;public class AddStudentAction extends ActionSupport implements ModelDriven<Student>{ Student student = new Student(); List<Student> students = new ArrayList<Student>(); StudentDAO dao = new StudentDAO(); @Override public Student getModel() { return student; } public String execute() { dao.addStudent(student); return "success"; } public String listStudents() { students = dao.getStudents(); return "success"; } public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; }}你会注意到我们正在实现ModelDriven接口。这是在你的action类处理一个具体的模型类(如Student)而不是个别的属性(如firstName,lastName)时使用。ModelAware接口需要你实现一个方法来返回模型。在我们的例子中,我们返回“student”对象。 创建视图文件现在创建包含以下内容的student.jsp视图文件: <%@ page contentType="text/html; charset=UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><html><head><title>Hello World</title><s:head /></head><body> <s:form action="addStudent"> <s:textfield name="firstName" label="First Name"/> <s:textfield name="lastName" label="Last Name"/> <s:textfield name="marks" label="Marks"/> <s:submit/> <hr/> <table> <tr> <td>First Name</td> <td>Last Name</td> <td>Marks</td> </tr> <s:iterator value="students"> <tr> <td><s:property value="firstName"/></td> <td><s:property value="lastName"/></td> <td><s:property value="marks"/></td> </tr> </s:iterator> </table> </s:form></body></html>student.jsp非常简单。在上面部分,我们有一个提交到“addStudent.action”的表单。它接受firstName,lastName和marks。因为addStudent action绑定到ModelAware的“AddSudentAction”,所以将自动创建一个学生bean,其值自动填充为firstName,lastName和marks。在下面部分,我们浏览学生列表(参见AddStudentAction.java),并在表中显示firstname,lastname和marks的值。 Struts配置让我们使用struts.xml: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <constant name="struts.devMode" value="true" /> <package name="myhibernate" extends="hibernate-default"> <action name="addStudent" method="execute" class="cn.k88.struts2.AddStudentAction"> <result name="success" type="redirect"> listStudents </result> </action> <action name="listStudents" method="listStudents" class="cn.k88.struts2.AddStudentAction"> <result name="success">/students.jsp</result> </action></package></struts>要注意的要点是,我们的包“myhibernate”扩展了名为“hibernate-default”的struts2默认包。然后我们声明两个action:addStudent和listStudents。addStudent调用AddStudentAction类的execute(),然后在成功时调用listStudents方法。listStudent方法调用AddStudentAction类上的listStudents(),并使用student.jsp作为视图。现在,右键单击项目名称,然后单击“Export”> “WAR File”以创建WAR文件。然后在Tomcat的webapps目录中部署WAR文件。最后,启动Tomcat服务器并尝试访问URL http://localhost:8080/HelloWorldStruts2/student.jsp,将显示以下界面:在上面部分,我们得到一个表单,输入新学生记录的值,下面部分列出数据库中的学生。继续添加一个新的学生记录,然后按提交。屏幕将刷新,并在每次单击提交时向你显示更新了的列表。

上一页  [1] [2] 


Struts2 Hibernate集成