我在一个使用 JSF 1.1 的旧项目中使用 RichFaces 3.1.6
3.1.6版本有Richfaces主题吗?因为当我添加
themes-3.3.3.Final.jar
我的应用程序无法工作,但是如果我从类路径中删除该 jar,那么应用程序可以正常工作。
我在 JSF 页面中有以下内容
<rich:dataTable width="100%"
id="dataemp" columnClasses="colClass"
value="#{test.beanValues}" var="emp">
<rich:column>
<f:facet name="header">Employee Number</f:facet>
<h:outputText value="#{emp.employeeNumber}" />
</rich:column>
<rich:column>
<f:facet name="header">Employee Name</f:facet>
<h:outputText value="#{emp.employeeName}" />
</rich:column>
<rich:column>
<f:facet name="header">HireDate</f:facet>
<h:outputText value="#{emp.hireDate}" />
</rich:column>
<rich:column>
<f:facet name="header">Mileage</f:facet>
<h:outputText value="#{emp.deptNo}" />
</rich:column>
</rich:dataTable>
运行页面时,我得到的输出没有表格边框或样式,并且 web.xml 我有
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>DEFAULT</param-value>
</context-param>
不确定如何使用 Richfaces 添加样式类,
屏幕截图
更新1
我已经成功解决了样式类问题,但仍然无法解决主题 jar 问题。
修改后的 JSF
<rich:dataTable value="#{test.beanValues}"
var="emp" rowClasses="row1, row2" id="empdet" rows="4"
columnClasses="50,100,100,100" onRowMouseOver="this.style.backgroundColor='#B5F3FB'"
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.rowBackgroundColor}'"
width="350">
<f:facet name="header">
<rich:columnGroup>
<rich:column colspan="4">
<h:outputText value="List of Employees" />
</rich:column>
<rich:column breakBefore="true">
<h:outputText value="Employee #" />
</rich:column>
<rich:column>
<h:outputText value="Employee Name" />
</rich:column>
<rich:column>
<h:outputText value="Hire Date" />
</rich:column>
<rich:column>
<h:outputText value="Dept #" />
</rich:column>
</rich:columnGroup>
</f:facet>
<rich:column>
<f:facet name="header">
<h:outputText value=" "
title="Hack due to bug. Shuold be remoevd till release"></h:outputText>
</f:facet>
<h:outputText value="#{emp.employeeNumber}" />
</rich:column>
<rich:column>
<h:outputText value="#{emp.employeeName}" />
</rich:column>
<rich:column>
<h:outputText value="#{emp.hireDate}" />
</rich:column>
<rich:column>
<h:outputText value="#{emp.deptNo}" />
</rich:column>
</rich:dataTable>
<rich:datascroller align="left" for="empdet"
maxPages="20" />
屏幕截图。
最佳答案
我认为 3.3.3.Final.jar 不适用于 Richfaces 3.1.6。事实上,3.1.6 版本是最后一个兼容 JSF 1.1 的 RF 版本。
但是,您可以使用已使用的org.richfaces.SKIN
参数更改皮肤(或覆盖它以定义您的皮肤)。可能的值可在 richfaces-impl-3.1.6.GA/META-INF/skins 下找到。
甚至据说与RF4有关。我认为它适用于3.1.6
希望对大家有帮助
关于java - Richfaces主题问题和数据表样式类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15582791/