两个(有些)相同的Eclipse JSF / Primefaces应用程序中的相同页面呈现不同

时间:2014-12-03 23:01:19

标签: html jsf primefaces

我在一个Eclipse App中有一个primefaces渲染问题,但在另一个Eclipse App中没有。我比较了web.xml和pom,并尝试使它们相同,至少就可能影响primefaces渲染的依赖性而言。我已经清理了违规项目,在Maven下更新了项目,检查了项目方面等,但我仍然无法使用一个应用程序来呈现primefaces组件,就像它们在另一个应用程序或展示中看到的那样。

我使用两个primefaces按钮和相同的模板将页面简化为最简单的情况,没有其他CSS文件。以下是每个应用程序呈现按钮的方式:

渲染错误,显示指针悬停在顶部按钮bad rendering, show with pointer hovering over top button

良好的渲染,适当的悬停突出显示和圆角 enter image description here

按钮间距也不同。在糟糕的渲染中,似乎还有一些额外的边框勾勒出整个画布(白色内容区域)

的facelet:

<h:body>
<ui:composition template="/WEB-INF/templates/hmmcommonLayout.xhtml">
    <ui:define name="title">title</ui:define>
    <ui:define name="content">
        <h:form>
            <p:button outcome="hr" value="With Icon" icon="ui-icon-star">
                <f:param name="productId" value="24" />
            </p:button>
        </h:form>
        <h:form>
            <p:button outcome="hr" icon="ui-icon-star" title="Icon Only">
            </p:button>
        </h:form>
        <br></br>
    </ui:define>
</ui:composition>
</h:body>
</html>

模板:

<?xml version="1.0" encoding="UTF-8"?>
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui"
xmlns:of="http://omnifaces.org/functions">
<h:head>
<title><ui:insert name="title">template title</ui:insert></title>
</h:head>

<h:body>
<div class="logoText">template logo text</div>
<ui:insert name="content"></ui:insert>
</h:body>
</html>

生成的html基本相同。我还能检查什么?

1 个答案:

答案 0 :(得分:0)

事实证明,这是富有表面和主要表面之间的冲突。两个Eclipse项目POM都包含primefaces和richfaces依赖项。正确渲染事物的项目在其web.xml中具有以下内容。一旦我将这些语句添加到我的第二个项目的web.xml中,那么也可以正确地呈现这些语句。

<context-param>
    <param-name>org.richfaces.skin</param-name>
    <param-value>plain</param-value>
</context-param>
<context-param>
    <param-name>org.richfaces.enableControlSkinning</param-name>
    <param-value>false</param-value>
</context-param>