1

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

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

测试.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 的所有组件,所以它不是一个选项。

4

2 回答 2

1

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

于 2010-07-17T00:52:51.750 回答
0

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

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

enter code here : <a4j:commandLink id="abclink" oncomplete="#{rich:component('abcPanel')}.show()" reRender="abcForm"/>
于 2010-07-14T05:16:20.460 回答