首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CombinedResourceHandler不适用于PrimeFaces或PF扩展

CombinedResourceHandler不适用于PrimeFaces或PF扩展
EN

Stack Overflow用户
提问于 2014-05-29 02:59:40
回答 1查看 346关注 0票数 1

我将从一个示例开始,如果我有两个这样的面板:

代码语言:javascript
复制
<h:panelGroup id="container">
  <!-- PANEL 1 -->
  <c:if test=#{bean.render1}>
    <ui:include ... />
  </c:if>

<!-- PANEL 2 -->
  <c:if test=#{bean.render2}>
    <ui:include ... />
  </c:if>
</h:panelGroup>

面板2有一个"p:fileupload“组件,默认情况下,页面加载时会显示面板1,当我切换到面板2时,会发送一个ajax请求来更新”容器“,但由于以下代码,我得到了一个异常:

代码语言:javascript
复制
createWidget : function(widgetConstructor, widgetVar, cfg, resource) { 
  if(PrimeFaces.widget[widgetConstructor]) {
    //...
  } else {
    var scriptURI = $('script[src*="/javax.faces.resource/primefaces.js"]').attr('src').replace('primefaces.js', resource + '/' + resource + '.js'),
        cssURI = $('link[href*="/javax.faces.resource/primefaces.css"]').attr('href').replace('primefaces.css', resource + '/' + resource + '.css'),
        cssResource = '<link type="text/css" rel="stylesheet" href="' + cssURI + '" />';
    //...
  }
}

你怎么能猜到,一些组件(当我使用c:if或pe:ckEditor时)在没有使用@ResourceDependency注解的情况下加载了额外的库,在这种情况下我会得到一个异常,因为资源"primefaces.js“不存在,被omnifaces取代了。

有什么建议可以解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2014-05-29 12:24:26

为了解决这个设计问题,有3种选择:

  1. 不要使用ajax来导航,而是使用一个普通的(可加书签的,对搜索引擎优化友好的)请求。
  2. 不要使用视图构建时间标签来进行基于请求的呈现(通过ajax),而是使用rendered <h:outputScript>自己包含缺失的资源。例如,对于<p:fileUpload>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23919761

复制
相关文章

相似问题

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