这个DEMO供大家一起探讨学习Struts,因为工作太累,没精力给大家解释实现原理。如果看不懂,没关系。只是说明JSP基础还没有到火候,不要心急,回去强化下JSP+Servlet,基础扎实了,自然能够看懂我写的代码。这个DEMO借鉴了网上很多前人的经验,在此一并谢谢。
web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>BookShopMod</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-template.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/camel-define.tld</taglib-uri>
<taglib-location>/WEB-INF/camel-define.tld</taglib-location>
</taglib>
</web-app>
Struts-config.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="bookForm" type="com.bookshop.form.BookForm"/>
<form-bean name="operatorForm" type="com.bookshop.form.OperatorForm"/>
<form-bean name="findRecordForm" type="com.bookshop.form.FindRecordForm"/>
</form-beans>
<global-forwards>
<forward name="index" path="/index.jsp"/>
<forward name="browser" path="/show.jsp"/>
<forward name="global_error" path="/error.jsp"/>
</global-forwards>
<action-mappings>
<action input="/show.jsp" name="bookForm" parameter="operator" path="/operatorAction" scope="session" type="com.bookshop.action.OperatorAction" validate="false">
<forward name="operatorok" path="/success.jsp" redirect="true"/>
<forward name="showFirstPage" path="/operatorAction.do?operator=showFirstPage"/>
<forward name="showPreviousPage" path="/operatorAction.do?operator=showPreviousPage"/>
<forward name="showNextPage" path="/operatorAction.do?operator=showNextPage"/>
<forward name="showLastPage" path="/operatorAction.do?operator=showLastPage"/>
<forward name="showAddRecord" path="/editrecord.jsp?operator=addRecord" redirect="true"/>
<forward name="showModifyRecord" path="/editrecord.jsp?operator=modifyRecord"/>
<forward name="showFindRecord" path="/findrecord.jsp" redirect="true"/>
</action>
<action input="/findrecord.jsp" name="findRecordForm" path="/findRecordAction" scope="session" type="com.bookshop.action.FindRecordAction" validate="false"/>
</action-mappings>
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>
</plug-in>
</struts-config>
tiles-defs文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="base-definition" path="layout.jsp">
<put name="head" value="head.jsp" />
<put name="left" value="left.jsp" />
<put name="body" />
<put name="foot" value="foot.jsp" />
</definition>
<definition extends="base-definition" name="index-definition">
<put name="body" value="index_body.jsp" />
</definition>
<definition extends="base-definition" name="show-definition">
<put name="body" value="show_body.jsp" />
</definition>
<definition extends="base-definition" name="edit-definition">
<put name="body" value="edit_body.jsp" />
</definition>
<definition extends="base-definition" name="find-definition">
<put name="body" value="find_body.jsp"/>
</definition>
<definition extends="base-definition" name="success-definition">
<put name="body" value="success_body.jsp" />
</definition>
<definition extends="base-definition" name="error-definition">
<put name="body" value="error_body.jsp"/>
</definition>
</tiles-definitions>
camel-define文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>camel</shortname>
<uri>http://jakarta.apache.org/struts/tags-bean</uri>
<tag>
<name>isLastPage</name>
<tagclass>com.bookshop.util.IsLastTag</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>page</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
上面几个文件和struts-bean.tld,struts-html.tld,struts-tiles.tld,struts-logic.tld都一起位于WEB-INF的根目录下面。
以下是三个Action文件:
/*FindRecordAction.java*/
package com.bookshop.action;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import com.bookshop.form.FindRecordForm;
import org.apache.struts.action.Action;
import java.util.List;
import java.util.ArrayList;
import com.bookshop.model.Operator;
import com.bookshop.util.PageInfo;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionError;
public class FindRecordAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
FindRecordForm findRecordForm = (FindRecordForm) actionForm;
String key = findRecordForm.getFindByKey().trim();
String value = findRecordForm.getFindByValue().trim();
List list = new ArrayList();
list = Operator.getRecords(key, value, 0);
servletRequest.getSession().setAttribute("books", list);
if (!list.isEmpty()) {
servletRequest.getSession().setAttribute("pageinfo",
new PageInfo(Operator.
getRecordsNumber(), 1));
}
else {
ActionErrors messages = new ActionErrors();
messages.add(ActionErrors.GLOBAL_MESSAGE,
new ActionError("findrecord.jsp.notfound"));
servletRequest.getSession().setAttribute("pageinfo",
一个Struts实现分页,增删改查,Tiles,国际化的DEMO
需积分: 5 178 浏览量
2008-05-30
10:01:39
上传
评论
收藏 10KB RAR 举报
kone219
- 粉丝: 9
- 资源: 20
最新资源
- 课程资料管理学 课件、习题与试题 周三多版本
- MATLAB检测运动车辆包括轨迹速度车道数量带GUI界面源码毕业设计.zip
- 风控:流动性覆盖率和净稳定资金率表
- 管理学-武汉大学7171-71
- Matlab的人脸考勤系统带有界面输入全身照人脸图片进行人脸扫描源码毕业设计.zip
- 基于大数据的旅游路线推荐系统.zip
- Matlab的教室人数统计系统可统计正脸人数源码毕业设计.zip
- 重磅上市公司论文实证分析筛选样本所用数据指标(2000-2022年) 是否ST或PT 金融
- 你的名字。.BD.720p.日语中字.mp4
- 重磅公司治理水平数据构造至2022(基于主成分分析方法),含最终数据及构造代码!
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈