本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7587296
建立时间:2006年5月29日




[OpenSymphony]配置webwork和sitemesh
软件技术

lhwork 发表于 2006/8/4 14:51:34

500)this.width=500'> 整合了Spring/Webwork/Sitemesh/FreeMarker的相关配置 web.xml需要配置3个filter,这3个filter的顺序不能够颠倒,必须按照如下顺序:其中ActionContextCleanUp 设定当webwork执行完毕后延迟清理ActionContext,以便于sitemesh使用ActionConext,sitemesh则是在 Webwork执行完毕后进行模版的组装。此处使用的是FreeMarker作为网站模版,FreeMarkerPageFilter是 webwork2.2提供的增强类(推荐使用freemarker作为网站模版),如果使用JSP作为网站模版,则改为 com.opensymphony.module.sitemesh.filter.PageFilter。 这3个filter的mapping URL都必须是/*,这是由于webwork的filter使用的特殊资源从/webwork/*这样的URL网络位置获得,因此webwork filter需要对所有URL截获,相应的,其他两个filter也需要对所有URL进行截获。 JspSupportServlet是一个辅助类,在使用FreeMarker作为View的时候,需要设置该Servlet,以便于 FreeMarker使用JSP Tag。dwr是一个AJAX分布式调用框架,Webwork使用dwr实现AJAX方式的remote form验证。 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> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <filter> <filter-name>ActionContextCleanUp</filter-name> <filter-class>com.opensymphony.webwork.dispatcher.ActionContextCleanUp</filter-class> </filter> <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.webwork.sitemesh.FreeMarkerPageFilter</filter-class> </filter> <filter> <filter-name>webwork</filter-name> <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>ActionContextCleanUp</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>webwork</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>JspSupportServlet</servlet-name> <servlet-class>com.opensymphony.webwork.views.JspSupportServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>dwr</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>default.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> dwr.xml也放在WEB-INF目录下面,用来配置通过dwr暴露给客户端JavaScript的服务器端对象,下面的默认配置用来支持webwork的remote form验证。 dwr.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"><dwr> <allow> <create creator="new" javascript="validator"> <param name="class" value="com.opensymphony.webwork.validators.DWRValidator"/> </create> <convert converter="bean" match="com.opensymphony.xwork.ValidationAwareSupport"/> </allow> <signatures> <![CDATA[webwork: import java.util.Map; import com.opensymphony.webwork.validators.DWRValidator; DWRValidator.doPost(String, String, Map<String, String>); ]]> </signatures></dwr> sitemesh.xml也放在WEB-INF下面,配置sitemesh的行为,使用何种页面解析器和装饰器,也可以不要该文件, sitemesh.jar里面自带的默认的配置,包含更多装饰器,如果不需要那些更多的装饰器,则最好自己配置,避免多个装饰器调用造成的无谓性能损失。 sitemesh.xml <sitemesh> <property name="decorators-file" value="/WEB-INF/decorators.xml"/> <excludes file="${decorators-file}"/> <page-parsers> <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser"/> </page-parsers> <decorator-mappers> <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> <param name="config" value="${decorators-file}"/> </mapper> </decorator-mappers> </sitemesh> decroators也放在WEB-INF下面,配置装饰器装饰哪些URL decorators.xml <decorators defaultdir="/WEB-INF/decorators"> <excludes> <pattern>/css/*</pattern> <pattern>/js/*</pattern> <pattern>/images/*</pattern> <pattern>/dojo/*</pattern> <pattern>/webwork/*</pattern> <pattern>/config-browser/*</pattern> </excludes> <decorator name="main" page="main.ftl"> <pattern>*.action</pattern> </decorator></decorators> -->


阅读全文(4530) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.063 second(s), page refreshed 144758855 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号