最近学习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则无法使用。
具体为什么,明天再思考。呵呵