importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importorg.apache.struts.action.DynaActionForm;
importorg.apache.struts.actions.DispatchAction;
importcom.sshexample.model.Test;
importcom.sshexample.service.TestManager;
publicclassTestActionextendsDispatchAction{
//testManager对象
privateTestManagertestManager;
//注入口
publicvoidsetTesetManager(TestManagertesetManager){
this.testManager=tesetManager;
}
//编辑方法
publicActionForwardedit(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){
//动态ActionForm实例化
DynaActionFormtestForm=(DynaActionForm)form;
//参数
Stringid=request.getParameter("id");
//获得test对象
Testt=testManager.getTest(id);
//设值
testForm.set("name",t.getName());
//存储ID到request
request.setAttribute("id",id);
returnmapping.findForward("edit");
}
//更新数据
publicActionForwardsave(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){
//动态ActionForm实例化
DynaActionFormtestForm=(DynaActionForm)form;
//参数
Struts+Spring+Hibernate整合的简单实例
Stringid=request.getParameter("id");
//获得test对象
Testt=null;
if(id==null){
t=newTest();
}else{
t=testManager.getTest(id);
}
//设值
t.setName((String)testForm.get("name"));
testManager.save(t);
returnlist(mapping,form,request,response);
}
//delete
publicActionForwarddelete(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){
Stringid=request.getParameter("id");
testManager.delete(id);
returnlist(mapping,form,request,response);
}
privateActionForwardlist(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){
Listlist=testManager.getAll();
request.setAttribute("test",list);
returnmapping.findForward("display");
}
publicActionForwardunspecified(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){
returnnull;
}
publicActionForwardexecute(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){
DynaActionFormtestForm=(DynaActionForm)form;//TODOAuto-generatedmethodstub
returnnull;
}
}
这些代码中,我们使用了TestManager类,需要在配置文件中依赖注入之。
10.编辑JSP页面
新建edit.jsp,input.jsp和display.jsp三个页面。对这三个页面进行修改。
Struts+Spring+Hibernate整合的简单实例
Display.jsp:
[html]viewplaincopy
<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@tagliburi="/tags-bean"prefix="bean"%> <%@tagliburi="/tags-html"prefix="html"%> <%@tagliburi="/jsp/jstl/core"prefix="c"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w
/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1"> <title>Inserttitlehere</title>
</head>
<body>
Allitems:
<table>
<tr>
<th>id</th>
<th>name</th>
<th>edit</th>
<th>delete</th>
</tr>
<c:forEachitems="${requestScope['test']}"var="info">
<tr>
<td><c:outvalue="${info.id}"></c:out></td>
<td><c:outvalue="${}"></c:out></td>
<td><ahref="<c:urlvalue="/test.do?method=edit&id=${info.id}"/>">[E]</a></td>
<td><ahref="<c:urlvalue="/test.do?method=delete&id=${info.id}"/>">[X]</a></td>
</tr>
</c:forEach>
</table>
<ahref="input.jsp">Insert</a>
</body>
</html>
Input.jsp
[html]viewplaincopy
<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"
Struts+Spring+Hibernate整合的简单实例
pageEncoding="ISO-8859-1"%>
<%@tagliburi="/tags-bean"prefix="bean"%> <%@tagliburi="/tags-html"prefix="html"%> <%@tagliburi="/jsp/jstl/core"prefix="c"%>