`
zgrf2003
  • 浏览: 10711 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于myfaces中t:jscookMenu的使用

阅读更多
    这2天使用t:jscookMenu标签经常出现js控制台报告cnThemeOffice未定义的错误,后来在网上查了发现workshop和MyEclipse生成的web.xml对于使用t:jscookMenu都有问题(我用的是workshop),于是把myfaces-simple-examples中的web.xml拿过来用,问题解决。配置文件如下:
<?xml version="1.0"?>

<!--
 * Copyright 2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
-->

<!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>

    <!-- This web.xml can be used during debugging, when there is no myfaces.jar
        library available.

        The faces-config.xml file (that is normally in the myfaces.jar) must be
        copied to the /WEB-INF directory of the web context.

        The TLDs (that are normally in the myfaces.jar) must be
        copied to the /WEB-INF/lib directory of the web context.-->
    <description>debug web.xml</description>

    <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>
            /WEB-INF/faces-config.xml
        </param-value>
        <description>
            Comma separated list of URIs of (additional) faces config files.
            (e.g. /WEB-INF/my-config.xml)
            See JSF 1.0 PRD2, 10.3.2
        </description>
    </context-param>

    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
        <description>
            State saving method: "client" or "server" (= default)
            See JSF Specification 2.5.2
        </description>
    </context-param>

    <context-param>
        <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
        <param-value>true</param-value>
        <description>
            This parameter tells MyFaces if javascript code should be allowed in the
            rendered HTML output.
            If javascript is allowed, command_link anchors will have javascript code
            that submits the corresponding form.
            If javascript is not allowed, the state saving info and nested parameters
            will be added as url parameters.
            Default: "true"
        </description>
    </context-param>

    <context-param>
        <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
        <param-value>false</param-value>
    </context-param>

    <context-param>
        <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
        <param-value>true</param-value>
        <description>
            If true, rendered HTML code will be formatted, so that it is "human readable".
            i.e. additional line separators and whitespace will be written, that do not
            influence the HTML code.
            Default: "true"
        </description>
    </context-param>

    <context-param>
        <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
        <param-value>true</param-value>
        <description>
            If true, a javascript function will be rendered that is able to restore the
            former vertical scroll on every request. Convenient feature if you have pages
            with long lists and you do not want the browser page to always jump to the top
            if you trigger a link or button action that stays on the same page.
            Default: "false"
        </description>
    </context-param>


    <!-- WelcomeFile Filter -->
    <!--
    <filter>
        <filter-name>WelcomeFile Filter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.WelcomeFileFilter</filter-class>
        <description>
            Due to the manner in which the JSP / servlet lifecycle
            functions, it is not currently possible to specify default
            welcome files for a web application and map them to the
            MyFacesServlet.  Normally they will be mapped to the
            default servlet for the JSP container.  To offset this
            shortcoming, we utilize a servlet Filter which examines
            the URI of all incoming requests.
        </description>
    </filter>
    -->

    <!-- Extensions Filter -->
    <filter>
        <filter-name>extensionsFilter</filter-name>
        <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
        <init-param>
            <param-name>uploadMaxFileSize</param-name>
            <param-value>100m</param-value>
            <description>Set the size limit for uploaded files.
                Format: 10 - 10 bytes
                        10k - 10 KB
                        10m - 10 MB
                        1g - 1 GB
            </description>
        </init-param>
        <init-param>
            <param-name>uploadThresholdSize</param-name>
            <param-value>100k</param-value>
            <description>Set the threshold size - files
                    below this limit are stored in memory, files above
                    this limit are stored on disk.

                Format: 10 - 10 bytes
                        10k - 10 KB
                        10m - 10 MB
                        1g - 1 GB
            </description>
        </init-param>
<!--        <init-param>
            <param-name>uploadRepositoryPath</param-name>
            <param-value>/temp</param-value>
            <description>Set the path where the intermediary files will be stored.
            </description>
        </init-param>-->
    </filter>

    <filter-mapping>
        <filter-name>extensionsFilter</filter-name>
        <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>extensionsFilter</filter-name>
        <url-pattern>/faces/*</url-pattern>
    </filter-mapping>


    <listener>
        <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
    </listener>

    <!-- Faces Servlet -->
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- source code servlet (will not work with JSF virtual path mapping) -->
    <!--  this servlet is optional and for educational purposes only -->
    <servlet>
        <servlet-name>SourceCodeServlet</servlet-name>
        <servlet-class>org.apache.myfaces.util.servlet.SourceCodeServlet</servlet-class>
    </servlet>

    <!-- Faces Servlet Mapping -->

    <!-- virtual path mapping -->
    <!--
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    -->

    <!-- extension mapping -->
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>SourceCodeServlet</servlet-name>
        <url-pattern>*.source</url-pattern>
    </servlet-mapping>

    <!-- Welcome files -->

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

</web-app>


还发现一个问题,如果配置文件没问题,工程启动后如果用默认的index.jsp跳转到有t:jscookMenu标签的页面js控制台也会报告cnThemeOffice未定义,这不是配置文件的原因,是因为默认的index.jsp是使用<jsp:forward page=###.jsf>跳转,如果改成<% response.sendRedirect("pages/###.jsf"); %> 则问题解决。我想了下可能使用jsp:forward 启动不了Extensions Filter 过滤器,原因是forward 和 response.sendRedirect的跳转机制不同。又试了下,使用jsp:forward 跳转到其他页面,再从其他页面跳转到含有t:jscookMenu标签的页面也没问题,我想可能还有个原因是使用jsp:forward 跳转到第一个页面时,JSF的生命周期没有启动,自然过滤器也启动不了,再跳转时生命周期启动,过滤器也启动,所以正常。
分享到:
评论

相关推荐

    myfaces-core-assembly-2.2.7-bin.zip

    6. **部署和使用**: 要在项目中使用MyFaces,你需要将这些JAR文件添加到你的类路径中,并在web.xml配置文件中指定MyFaces作为JSF实现。如果你使用的是Maven或其他依赖管理工具,可以通过指定相应的依赖来简化这个...

    myfaces-tobago:Apache MyFaces多巴哥

    在项目目录中,您可以使用: mvn install 在所有子项目上运行安装目标。 这会将所有必要的工件放入您的本地存储库。 演示-码头 切换到子目录并调用Maven运行该演示: cd tobago-example/tobago-example-demo mvn...

    MyFaces-Components

    在JavaServer Faces(JSF)框架中,MyFaces是一个广泛使用的实现,以其灵活性和扩展性而著称。本篇文章将重点介绍MyFaces中的自定义组件库——Tomahawk,并探讨其安装配置方法以及一些实用示例。 #### 二、MyFaces-...

    JSF及Myfaces帮助.rar

    使用MyFaces时,开发者首先需要在Web应用的配置文件中声明MyFaces为JSF实现。然后,可以创建JSF页面(通常为*.xhtml文件),使用JSF标签库定义组件。接着,通过后台Java类(Managed Beans)实现业务逻辑,并与UI组件...

    JSF MyFaces 开发文档

    - **Web Application Development**:指使用Apache MyFaces进行Web应用程序的开发过程。这涉及到从设计到实现的整个流程,包括但不限于页面布局、业务逻辑处理、数据库交互等方面。 - **Building Next-Generation ...

    MyFaces组件最新源代码

    3. **Tomahawk组件**:压缩包中的"tomahawk-1.1.6"是MyFaces的Tomahawk扩展库,它提供了一系列额外的UI组件,如`&lt;t:inputFile&gt;`用于文件上传,`&lt;t:outputLabel&gt;`用于更灵活的标签显示等。这些组件丰富了标准JSF组件...

    myfaces-core-1.2.6-bin.zip

    1. **组件库**:MyFaces Core 包含了大量的预定义UI组件,如按钮、表单、表格等,这些组件可以方便地在HTML页面中使用,通过JSF的EL(Expression Language)和Faces EL来绑定数据和处理事件。 2. **渲染器**:框架...

    myfaces-1.1.5

    描述提到 "myfaces是apache开源对jsf的扩展",这意味着 MyFaces 不仅仅是 JSF 的一个简单实现,它还提供了一系列的扩展功能和增强,以满足开发者在实际项目中的需求。JSF 是一个用于构建企业级 Web 应用程序的 Java ...

    myfaces-all.jar.zip

    MyFaces,作为一个开源的JavaServer Faces (JSF)实现,是Java Web开发中的一个重要组件。这个名为"myfaces-all.jar.zip"的压缩包,包含了MyFaces的核心库以及相关的许可证信息,让我们有机会深入探讨MyFaces的精髓。...

    使用JSF和MyFaces实现文件上载

    虽然本文提供了基本的指导,但在实际开发中,深入理解MyFaces和Apache Commons FileUpload的工作原理对于高效地使用这些工具至关重要。这包括理解文件上传的底层机制、如何优化性能、如何处理大文件上传,以及如何...

    iceface-myfaces例子

    《深入理解iceface-myfaces:基于sample-icefaces-myfaces-portlet.war的实践解析》 在现代Web应用开发中,ICEfaces和MyFaces作为两个备受瞩目的JavaServer Faces (JSF) 框架,为开发者提供了丰富的功能和优秀的...

    myfaces-core-2.0.1-bin.zip

    5. **文档和示例**:压缩包中通常会包含API文档(Javadoc)以及一些示例应用程序,帮助开发者理解和学习如何使用MyFaces。 6. **配置文件**:例如`web.xml`或`faces-config.xml`,这些配置文件指导JSF框架如何启动...

    jsf配置myfaces各种jar

    本人用的是Myeclipse7.0+J2EE5.0+JSF开发,配置myfaces各种jar,包括上传.考到lib下就可以.哪里不明加我QQ问我 200808006

    MyFaces 上下文参数详解(中、英文)

    在MyFaces的应用中,配置上下文参数在`web.xml`文件中扮演着至关重要的角色。这些参数可以定制MyFaces的行为,优化性能,或者解决特定场景下的问题。下面我们将详细探讨这些上下文参数及其作用。 一、`org.apache....

    myfaces标签库

    以上代码展示了如何使用MyFaces标签库中的`&lt;h:outputText&gt;`, `&lt;h:inputText&gt;`, `&lt;h:message&gt;`和`&lt;h:commandButton&gt;`等标签创建一个简单的登录表单。`#{bean.userName}`和`#{bean.password}`通过表达式绑定到后端Bean...

    myfaces api

    开发者可以在JSF组件属性中使用EL表达式,以动态地设置和获取值。 7. ** FacesContext**:它是JSF框架的核心上下文对象,包含了请求、响应和会话的相关信息,以及对JSF API的访问。 8. ** Managed Beans**:...

    用JSF和MyFaces上传文件

    在JSF中,MyFaces是其中一个实现,它提供了丰富的组件库和扩展功能。在描述中提到,虽然Java Web标准如Servlets、JSP和JSF本身不直接支持文件上传功能,但可以通过第三方库如Apache Commons File Upload和Apache ...

    myfaces

    myfaces 的一个工程

    Apache MyFaces Scripting.zip

    在Java EE环境中,MyFaces Scripting可能指的是在JSF组件中使用脚本语言的能力,如JavaScript或ECMAScript,以便在客户端增强交互性和动态行为。JSF框架提供了一种声明式的方式去创建用户界面,而脚本可以补充这种...

Global site tag (gtag.js) - Google Analytics