首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facelets:页面未呈现

Facelets:页面未呈现
EN

Stack Overflow用户
提问于 2012-01-14 22:20:31
回答 2查看 1.1K关注 0票数 0

我在Tomcat中使用JSF 2和RichFaces。我是一个初学者,并且尝试了一个我找到的这里页面,但是这个页面只是空白的(没有呈现的内容)。我尝试添加Facelets 1.1库,然后页面就会呈现,而不会出现问题。但是,我在某个地方读到,在JSF 2中,Facelets库是不必要的,因为它们是默认包含的。此外,当我添加Facelets库时,其他页面也会受到影响,因为我开始收到类似于的消息:“库支持名称空间: http://java.sun.com/jsf/html,但是没有为没有库的页面定义名称: head"。我还在我的/WEB/lib目录中包含了以下库:

  1. richfaces-api-3.3.3.Final.jar
  2. richfaces-impl-3.3.3.Final.jar
  3. richfaces-impl-jsf2-3.3.3.Final.jar
  4. richfaces-ui-3.3.3.Final.jar
  5. jstl.jar
  6. standard.jar

为了简单起见,我的代码就在这里(有些部分被删除了,这样就不会太长了)。

注意:当我在h:form或h:panelGrid中插入一些纯文本时,就会没有问题地呈现它。

代码语言:javascript
复制
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<style>
    .cols {
        vertical-align: top;
        }
</style>
<h:form id="form">
    <h:panelGrid columns="2" columnClasses="cols,cols" width="400">
        <rich:panelMenu style="width:200px" mode="ajax"
            iconExpandedGroup="disc" iconCollapsedGroup="disc"
            iconExpandedTopGroup="chevronUp" iconGroupTopPosition="right"
            iconCollapsedTopGroup="chevronDown">
            <rich:panelMenuGroup label="Group 1">
                <rich:panelMenuItem label="Item 1.1"
                    action="#{panelMenu.updateCurrent}">
                    <f:param name="current" value="Item 1.1" />
                </rich:panelMenuItem>
                <rich:panelMenuItem label="Item 1.2"
                    action="#{panelMenu.updateCurrent}">
                    <f:param name="current" value="Item 1.2" />
                </rich:panelMenuItem>
                <rich:panelMenuItem label="Item 1.3"
                    action="#{panelMenu.updateCurrent}">
                    <f:param name="current" value="Item 1.3" />
                </rich:panelMenuItem>
            </rich:panelMenuGroup>
        </rich:panelMenu>
        <rich:panel bodyClass="rich-laguna-panel-no-header">
            <a4j:outputPanel ajaxRendered="true">
                <h:outputText value="#{panelMenu.current} selected" id="current" />
            </a4j:outputPanel>
        </rich:panel>
    </h:panelGrid>
</h:form>

EN

回答 2

Stack Overflow用户

发布于 2012-01-15 04:51:19

您添加了jsf 2.0库吗?

代码语言:javascript
复制
<dependency>
  <groupId>javax.faces</groupId>
  <artifactId>javax.faces-api</artifactId>
  <version>2.1</version>
  <scope>provided</scope>

并配置成这样的web xml?

代码语言:javascript
复制
<servlet>

<servlet-name>Faces Servlet</servlet-name>

<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

<load-on-startup>1</load-on-startup>

代码语言:javascript
复制
<servlet-name>Faces Servlet</servlet-name>

<url-pattern>*.jsf</url-pattern>

代码语言:javascript
复制
<servlet-name>Faces Servlet</servlet-name>

<url-pattern>/*</url-pattern>

票数 0
EN

Stack Overflow用户

发布于 2012-07-10 11:08:44

库中存在库冲突,但我不确定它是否与您所指的问题有关。

在您的项目中不应该同时拥有以下两个库:

  • richfaces-impl-3.3.3.Final.jar
  • richfaces-impl-jsf2-3.3.3.Final.jar

它们包括类似的一组类。如果使用JSF 2,请从类路径中删除richfaces-impl-3.3.3.Final.jar。

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

https://stackoverflow.com/questions/8865822

复制
相关文章

相似问题

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