jsf 中的datatable 和 dataScroller 用法

    技术2022-05-11  54

    最近学习jsf ,适用的是myfaces控件库,但是在用datascroller的时候遇到一个问题,基本上无法分页,十分郁闷。点击下一页的时候就告诉你网页有错误,根本没法应。后来发现竟然要在web.xml中配置相关内容。 首先看一下datatable和datascroller的sample。 <body><f:view>    <h:form>            <t:dataTable value="#{scrollerList.list}" var="varIter" id="data"                rows="10">                <%-- nitrox:varType="com.liang.SimpleCar" --%>                <h:column>                    <f:facet name="header">                        <h:outputText value="Id" />                    </f:facet>                    <h:outputText value="#{varIter.id}" />                </h:column>                <h:column>                    <f:facet name="header">                        <h:outputText value="Color" />                    </f:facet>                    <h:outputText value="#{varIter.color}" />                </h:column>                <h:column>                    <f:facet name="header">                        <h:outputText value="Type" />                    </f:facet>                    <h:outputText value="#{varIter.type}" />                </h:column>            </t:dataTable>            <f:verbatim>                <br />            </f:verbatim>        <t:dataScroller for="data" paginator="true" paginatorMaxPages="6">            <f:facet name="first">                <h:graphicImage url="/images/arrow-first.gif"/>            </f:facet>            <f:facet name="previous">                <h:graphicImage url="/images/arrow-previous.gif"/>            </f:facet>            <f:facet name="next">                <h:graphicImage url="/images/arrow-next.gif"/>            </f:facet>            <f:facet name="last">                <h:graphicImage url="/images/arrow-last.gif"/>            </f:facet>            <f:facet name="fastforward">                <h:graphicImage url="/images/arrow-ff.gif"/>            </f:facet>            <f:facet name="fastrewind">                <h:graphicImage url="/images/arrow-fr.gif"/>            </f:facet>        </t:dataScroller>            </h:form></f:view></body></html> 然后在web.xml中加入能上传文件的filter:    <filter>        <filter-name>extensionsFilter</filter-name>        <filter-class>            org.apache.myfaces.webapp.filter.ExtensionsFilter        </filter-class>        <init-param>            <param-name>maxFileSize</param-name>            <param-value>20m</param-value>            <description>                Set the size limit for uploaded files. Format: 10 - 10                bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB            </description>        </init-param>        <init-param>            <param-name>uploadThresholdSize</param-name>            <param-value>100k</param-value>        </init-param>    </filter>        <filter-mapping>        <filter-name>extensionsFilter</filter-name>        <servlet-name>faces</servlet-name>    </filter-mapping>    <!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  -->    <filter-mapping>        <filter-name>extensionsFilter</filter-name>        <url-pattern>/faces/*</url-pattern>    </filter-mapping>    <filter-mapping>        <filter-name>extensionsFilter</filter-name>        <url-pattern>*.jsf</url-pattern>    </filter-mapping>    <filter-mapping>        <filter-name>extensionsFilter</filter-name>        <url-pattern>*.jsp</url-pattern>    </filter-mapping> 这就可以了,如果web.xml中没有上述内容,datascroller则无法使用。 具体为什么,明天再思考。呵呵

    最新回复(0)