我在一个Eclipse App中有一个primefaces渲染问题,但在另一个Eclipse App中没有。我比较了web.xml和pom,并尝试使它们相同,至少就可能影响primefaces渲染的依赖性而言。我已经清理了违规项目,在Maven下更新了项目,检查了项目方面等,但我仍然无法使用一个应用程序来呈现primefaces组件,就像它们在另一个应用程序或展示中看到的那样。
我使用两个primefaces按钮和相同的模板将页面简化为最简单的情况,没有其他CSS文件。以下是每个应用程序呈现按钮的方式:
渲染错误,显示指针悬停在顶部按钮上
良好的渲染,适当的悬停突出显示和圆角
按钮间距也不同。在糟糕的渲染中,似乎还有一些额外的边框勾勒出整个画布(白色内容区域)
的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基本相同。我还能检查什么?
答案 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>