0

我正在tomcat7中尝试一些richfaces4的样本。如果我将http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=panel&skin=emeraldTown的“查看源代码”中的代码复制到 test.xhtml 文件中。如果我去http://localhost/jsf-blank/test.jsf。我只会看到一个带有纯文本的网页,而不是演示中显示的面板......

我找到了 2 种方法让它像演示页面一样。

第一种方法是:

<!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:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich">
<h:head>
</h:head>
<h:body>
    <--!!!insert rich:panel tags here!!!-->
</h:body>
</html>

第二种方式是:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:ui="http://java.sun.com/jsf/facelets"
 xmlns:a4j="http://richfaces.org/a4j"
 xmlns:rich="http://richfaces.org/rich">

 <f:view>
 <h:head></h:head>
 <h:body>
    <--!!!insert rich:panel tags here!!!-->   
 </h:body>
 </f:view>

</ui:composition>

问题: 有人可以更深入地解释一下为什么上述两段代码可以工作,但直接来自演示的代码不能工作??? 看起来标签是渲染组件的关键。有人在这里问了类似的问题RichFaces4 不渲染组件 谢谢。

4

1 回答 1

2

您可能会在“使用 Facelets 模板”部分的 Java EE 6 教程中找到答案:http: //docs.oracle.com/javaee/6/tutorial/doc/giqxp.html

当您单击“查看源代码”链接时,您看到的是客户端页面的代码,因此您还需要一个模板。

于 2012-06-22T07:16:54.160 回答