作者:snowmanjy
前一段时间的工作研究成果,希望能够对要做相应整合的人有所帮助: 1. 对opencms webapp的文件修改: 1.1. 添加必要的jar文件:将struts发行版本的lib目录(比如:D:/struts-1.2.9-bin/lib)下的所有jar包拷贝到 opencms项目的lib目录(比如:D:/jakarta_tomcat_5_0_30/webapps/opencms/WEB-INF/lib)下面; 1.2. 添加必要的tld文件:将struts发行版本的lib目录(比如:D:/struts-1.2.9-bin/lib)下的所有tld文件拷贝到 opencms项目的WEB-INF目录(比如:D:/jakarta_tomcat_5_0_30/webapps/opencms/WEB-INF)下面; 1.3. 修改web.xml文件添加struts ActionServlet声明和tld文件声明: 1.3.1 struts ActionServlet声明部分:
引用
<!-- Struts Action Servlet Configuration -> <servlet> <servletname>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>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- struts action mapping--> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
1.3.2 struts tld文件声明部分:
引用
<!-- Struts Tag Library Descriptors -> <taglib> <tagliburi>/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>
1.4. 添加struts-config.xml文件:将struts项目的配置文件拷贝到opencms项目的WEB-INF目录(比如:D:/jakarta_tomcat_5_0_30/webapps/opencms/WEB-INF)下面; 1.5. 将struts项目中用到的jsp、html等页面纳入opencms的vfs统一管理; 2. 对相应struts项目文件链接内容的修改: 2.1. 含有链接内容的jsp、html等页面文件内容修改:在原来的链接前面加上/opencms(比如:<a href="/jump.do">写法变成<a href="/opencms/jump.do">); 2.2. struts-config.xml文件内容修改:将原来的jsp文件链接写法改成opencms中相应的vfs路径(比如:原来的<action path="/jump" forward="success.jsp">变成<action path="/jump" forward="/opencms/strutsTest/success.jsp">); 以上只是在opencms中实现了简单的跳转,至于具有action和form类的较复杂结构struts程序,应该采用opencms module的形式来组织和部署代码,等以后涉及到在座研究吧。