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