web.xml文档中OperaMasks框架常用的一些配置
org.operamasks.faces.IMPLICIT_NAVIGATION
<context-param>
<param-name>org.operamasks.faces.IMPLICIT_NAVIGATION</param-name>
<param-value>true</param-value>
</context-param>是否允许“隐式导航”。所谓隐式导航,是指:允许在Action方法体内返回某个页面,来简化JSF的导航规则。
javax.faces.STATE_SAVING_METHOD
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param> 设置 ViewState 是保存在客户端(client)还是服务器端(server)。保存在客户端,意味着客户端与服务器的每次交互都要传递 ViewState,保存在服务器端则 对服务器的内存是个巨大的考验。
org.operamasks.faces.VIEW_STATE_STRATEGY
<context-param>
<param-name>org.operamasks.faces.VIEW_STATE_STRATEGY</param-name>
<param-value>delta</param-value>
</context-param>视图优化策略,取值为delta时则采用视图优化策略,减少每次请求时带上的viewState参数长度,但是每次请求需要进行组件树的反序列化,需要进行一定的CPU消耗。
org.operamasks.faces.COMPATIBLE_VERSIONS
<context-param>
<param-name>org.operamasks.faces.COMPATIBLE_VERSION</param-name>
<param-value>V2_2,V2_3,V3_0</param-value>
</context-param>
value值可以取V2_2或者V2_3或者V3_0,中间可以使用;或者是,号间隔。
不推荐使用此参数配置,此参数配置对V2_2,V2_3和V3_0版本的OperaMasks作了部分兼容处理。使用此参数,则新版本的特性不一定生效。
javax.faces.DEFAULT_SUFFIX
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>设置 Faces Page的默认后缀,它是必须的。如果用 jsp 作为 Faces Page的载体,那么,此处的值是.jsp,如果 用 Facelets 作为 Faces Page的载体,那么,此处的值是 .xhtml,推荐使用 Facelets。
org.operamasks.faces.webapp.filter.DefaultSuffixRedirector
<filter>
<filter-name>DefaultSuffix Redirect Filter</filter-name>
<filter-class>org.operamasks.faces.webapp.filter.DefaultSuffixRedirector</filter-class>
</filter>
<filter-mapping>
<filter-name>DefaultSuffix Redirect Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>设置 filter,所有的访问(/*)都需要经过这个 filter,此 filter 是 OperaMasks 内置的。在 OperaMasks 应用中,页面的文件名后缀可能是 xhtml,也可能是jsp,这是在应用开发的一开始就已经确定好的,并且在 web.xml中有相应的配置; 但访问此页面的 url 后缀则是运行期可以必变的,在 web.xml 中也有配置 。于是就有可能出现一个问题: 用户很容易直接通过文件名来作为访问此页的 url。此 filter 的作 用是:将直接访问文件名的 url 自动改为正确的 url。如: 倘若用户在页面中有一个 <a href="a.faces">的超链 接,但由于用户的疏忽,错误的写成了 <a href="a.xhtml"> ,如果配置了这个 filter,OperaMasks会自动的把访问 a.xhtml 的 url 转变成:a.faces。
javax.faces.webapp.FacesServlet
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>设置 Faces Servlet,它是必须的及设置访问Faces Page的url后缀,访问一个 a.xhtml 页面的 url 是:a.faces,您也可以配置成您喜欢的值。在 OperaMasks 中,它是必须的。
org.operamasks.faces.render.resource.ResourceServlet
<servlet-name>ResourceServlet</servlet-name>
<servlet-class>org.operamasks.faces.render.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-name>ResourceServlet</servlet-name>
<url-pattern>/_global/*</url-pattern>
</servlet-mapping>设置 Resource Servlet,它负责加载各种资源,如图片及CSS等。在 OperaMasks 中,它是必须的。