首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openfaces树表缺少js

openfaces树表缺少js
EN

Stack Overflow用户
提问于 2012-01-05 12:20:51
回答 2查看 571关注 0票数 0

当尝试将RichFaces与OpenFaces合并到树表中时,它不显示任何展开折叠按钮。结果发现,有些js没有加载,这可能是造成这种情况的原因。

JSF代码如下:

代码语言:javascript
复制
<o:treeTable var="o">
                        <o:dynamicTreeStructure nodeChildren="#{bean.originNodeChildren}"
                                                nodeHasChildren="#{bean.originHasChildren()}"/>
                        <o:treeColumn expandedToggleImageUrl="/img/toggle-expand-light.png"
                                      collapsedToggleImageUrl="img/toggle-collapse-light.png">
                            <h:outputText value="#{o.description}"/>
                        </o:treeColumn>
                    </o:treeTable>

Bean代码被正确触发(包括hasChildren方法)。

JS异常:

代码语言:javascript
复制
Failed to load resource: the server responded with a status of 404 (/openFacesResources/META-INF/resources/openfaces/util/ajaxUtil-2.1.EA1.1143.js)
Failed to load resource: the server responded with a status of 404 (/openFacesResources/META-INF/resources/openfaces/util/util-2.1.EA1.1143.js)
Failed to load resource: the server responded with a status of 404 (/openFacesResources/META-INF/resources/openfaces/tableUtil-2.1.EA1.1143.js)
Failed to load resource: the server responded with a status of 404 (/openFacesResources/META-INF/resources/openfaces/table/table-2.1.EA1.1143.js)
Failed to load resource: the server responded with a status of 404 (/openFacesResources/META-INF/resources/openfaces/table/treeTable-2.1.EA1.1143.js)

使用OpenFaces版本2.0和RichFaces版本3.3.3。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-05 14:02:05

需要在web.xml中为开放的faces配置资源筛选器,并完成这项工作。类似于:

代码语言:javascript
复制
public class OpenFacesResourceFilter extends ResourceFilter {
    // -- Fields --

    // -- Methods --
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        try{
            super.doFilter(servletRequest, servletResponse, filterChain);
        } catch (ServletException e) {
            Throwable parent = e.getCause();
            if(parent!=null && parent instanceof ServletException) {
                throw (ServletException) parent;
            } else {
                throw e;
            }
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-01-13 12:26:33

这看起来确实没有在应用程序的xml文件中声明OpenFaces资源筛选器。以下是关于如何声明过滤器的文档的摘录(请注意,您不必自己为该过滤器创建任何Java类):

代码语言:javascript
复制
  <!-- FILTER FOR PROCESSING INTERNAL OPENFACES RESOURCES -->
  <filter>
    <filter-name>ResourceFilter</filter-name>
    <filter-class>org.openfaces.util.ResourceFilter</filter-class>
  </filter>

  <!-- MAPPING FOR OPENFACES RESOURCE FILTER -->
  <filter-mapping>
    <filter-name>ResourceFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

请参阅安装部分,以及OpenFaces 2.0文档中的OpenFaces部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8742408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档