snowmanjy @ 2006年06月17日, 06:00:20 下午 CST
前一段时间的工作研究成果,希望能够对要做相应整合的人有所帮助:
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的形式来组织和部署代码,等以后涉及到在座研究吧。