通过rich:panel和a4j:include渲染时丢失的RichFaces皮肤

时间:2010-01-29 13:22:05

标签: jsf richfaces

我有一个h:selectOneMenu和一个a4j:commandButton,后者重新包含一个名为content的组件,如下所示:

<rich:panel id="content">
 <a4j:include viewId="#{MyBacking.viewId}" />
</rich:panel>

当呈现响应并且组件加载新JSP页面的内容时,该页面中包含的选项卡使用的皮肤与应用程序的其余部分不同(我认为默认为蓝色)。

我注意到在加载包含的代码之后,如果我点击刷新,虽然这会导致bean重新发布页面内容,但皮肤已正确分配。

我的网页xml说:

<context-param>
 <param-name>org.richfaces.SKIN</param-name>
 <param-value>glassX</param-value>
</context-param>

<context-param>
 <param-name>org.richfaces.CONTROL_SKINNING</param-name>
 <param-value>enable</param-value>
</context-param>

<context-param>
 <param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
 <param-value>enable</param-value>
</context-param>
  1. 这是效果,因为此时RichFaces在某种程度上无法控制标签的呈现吗?

  2. 如何确保标签符合皮肤?所有的文件都与覆盖皮肤有关,我宁愿不必覆盖它应该已有的皮肤和皮肤。

  3. 由于

2 个答案:

答案 0 :(得分:1)

我不确定它是否能解决您的问题,但您可以尝试通过设置特定的web.xml参数来强制Richfaces避免使用默认外观:

<context-param>
    <param-name>org.richfaces.LoadStyleStrategy</param-name>
    <param-value>ALL</param-value>
</context-param>

您可以找到有关此媒体资源的更多详情here

已修改,以设置正确的 param-value ,如评论中所述。

答案 1 :(得分:0)

我刚刚注意到我已经包含了一个styleClass参数 - 因为现在包含的jsp无法访问css facet引用。