【问题标题】:JSF2 Composite component tag incompatibility problem?JSF2 Composite 组件标签不兼容问题?
【发布时间】:2010-07-13 10:56:51
【问题描述】:

这段代码,一个使用JSF2的自定义组件的测试用例

仅作记录,文件:panel.xhtml,位于/resources/panels/panel.xhtml

test.xhtml:

<head>
</head>
<body>
<panels:panel/>
</body>
</html>

返回以下 html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:panels="http://java.sun.com/jsf/composite/panels">

<head>
<script ...></script></head>
<body>
<panels:panel></panels:panel>
</body>
</html>

为什么没有被渲染?也许是因为我使用的是 Richfaces 3.3.3.Final 并且我在 web.xml 中有参数,所以 Richfaces 可以与 JSF2 一起使用?我尝试禁用它,但服务器没有启动,所以如果这是问题,我无法尝试。

 <context-param>
     <param-name>javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER</param-name>
     <param-value>true</param-value>
</context-param>

有人知道这是否是问题所在吗?如果是的话,还不允许新的自定义组件功能和Richfaces 3.3.3.Final一起使用吗?

更新:我检查了 Richfaces 4.0 Alpha,它没有 3.3.3.Final 的所有组件,所以它不是一个选项。

【问题讨论】:

    标签: jsf richfaces jsf-2 custom-component


    【解决方案1】:

    JSF 2.0 复合组件不适用于 RichFaces 3.3.3,因为它们基于 JSF 2.0 VDL。请查看this document中的限制部分

    【讨论】:

      【解决方案2】:

      不要重新渲染面板重新渲染面板的形式。 并包括面板使用

      我希望你可能会在 web.xml 中使用 Richfaces 过滤器

      enter code here : <a4j:commandLink id="abclink" oncomplete="#{rich:component('abcPanel')}.show()" reRender="abcForm"/>
      

      【讨论】:

      • 问题是它没有渲染标签&lt;panels:panel&gt;。我已经编辑了我的问题以澄清它。
      • 不要使用 包含面板 在您的页面中使用 包含面板。
      猜你喜欢
      • 2017-10-10
      • 2020-04-01
      • 2022-08-16
      • 2014-05-03
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      相关资源
      最近更新 更多