0

我将 RichFaces 3.1.6 用于 JSF 1.1 的旧项目

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" />

截屏。

在此处输入图像描述

4

1 回答 1

2

我不认为 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 下可以找到可能的值。

请参考此链接了解皮肤的使用和定制:http ://docs.jboss.org/richfaces/latest_4_X/Developer_Guide/en-US/html/chap-Developer_Guide-Skinning_and_theming.html#exam-Developer_Guide-Skinning_and_theming-Using_a_base_skin

甚至有人说它与RF4有关。我认为它适用于 3.1.6

希望这个对你有帮助

于 2013-03-24T15:26:22.143 回答