4 Replies Latest reply on Jun 2, 2008 1:03 AM by xmkevinchen

    [Help]datascroller does not wokk

    xmkevinchen

      I am using richfaces-3.2.0SR1 + jsf1.2+spring+hibernate
      I saw the online demo about the <rich:datascroller>,and try to write a example by myself.Unfortunally, it doesn't work.

      web page code Code:

      <?xml version="1.0" encoding="UTF-8" ?>
      <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:rich="http://richfaces.org/rich">
       <ui:composition>
       <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
       <title>title(replace some chinese character)</title>
       </head>
       <body>
       <f:view>
       <rich:panel header="(replace some chinese character)">
       <div id=""></div>
       <h:form>
       <rich:dataTable id="expenseList" width="95%" border="0"
       value="#{expenseBeanAction.expenses}" var="expense" rows="10"
       onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
       onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
       <f:facet name="header">
       <rich:columnGroup>
       <rich:column width="10px">
       <h:selectBooleanCheckbox value="" />
       </rich:column>
       <rich:column>
       <h:outputText value="(replace some chinese character)"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="(replace some chinese character)"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="(replace some chinese character)"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="(replace some chinese character)"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="(replace some chinese character)"></h:outputText>
       </rich:column>
       </rich:columnGroup>
       </f:facet>
       <rich:column>
       <h:selectBooleanCheckbox value="" />
       </rich:column>
       <rich:column>
       <h:outputText value="#{expense.expenseTime}"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="#{expense.expenseType}"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="#{expense.amountOfMoney}"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="#{expense.location}"></h:outputText>
       </rich:column>
       <rich:column>
       <h:outputText value="#{expense.description}"></h:outputText>
       </rich:column>
       <f:facet name="footer">
       <rich:datascroller align="right" for="expenseList">
      
       </rich:datascroller>
       </f:facet>
       </rich:dataTable>
      
       </h:form>
       </rich:panel>
       </f:view>
       </body>
       </html>
       </ui:composition>
      </jsp:root>
      




      my backingBean code, the expenseService is registerd in spring bean.xml file.
      And I am sure that the expenseService works fine.
      
      package orz.kevin.money.finance.action;
      
      import java.util.ArrayList;
      
      public class ExpenseBeanAction {
      
       private static Log log = LogFactory.getLog(ExpenseBeanAction.class);
      
       private Expense expense;
      
       private List<Expense> expenses = new ArrayList<Expense>();
      
       private IExpenseService expenseService;
      
       public String expenseManager() {
       expenses = expenseService.getList();
       return "expenseManager";
       }
      
       public Expense getExpense() {
       return expense;
       }
      
       public void setExpense(Expense expense) {
       this.expense = expense;
       }
      
       public List<Expense> getExpenses() {
       return expenses;
       }
      
       public void setExpenses(List<Expense> expenses) {
       this.expenses = expenses;
       }
      
       public void setExpenseService(IExpenseService expenseService) {
       this.expenseService = expenseService;
       }
      
      }
      




      and my web.xml file Code:

      <?xml version="1.0" encoding="utf-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      id="money" version="2.5">
      <display-name>money</display-name>
      <!-- RichFaces Configuration -->
      <context-param>
      <param-name>org.richfaces.SKIN</param-name>
      <param-value>blueSky</param-value>
      </context-param>
      <context-param>
      <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
      <param-value>server</param-value>
      </context-param>
      <context-param>
      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
      <param-value>.jspx</param-value>
      </context-param>
      <!-- Spring Configuration -->
      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
      /WEB-INF/classes/applicationContext-properties.xml
      /WEB-INF/classes/applicationContext-dao.xml
      /WEB-INF/classes/applicationContext-dataSource.xml
      /WEB-INF/classes/applicationContext-quartzBase.xml
      /WEB-INF/classes/applicationContext-quartzDao.xml
      /WEB-INF/classes/applicationContext-service.xml
      </param-value>
      </context-param>
      <context-param>
      <param-name>webAppRootKey</param-name>
      <param-value>money</param-value>
      </context-param>
      <!-- setup log4j configuration -->
      <context-param>
      <param-name>log4jConfigLocation</param-name>
      <param-value>/WEB-INF/classes/log4j.properties</param-value>
      </context-param>
      <!-- RichFaces Configuration -->

      <display-name>RichFaces Filter</display-name>
      <filter-name>richfaces</filter-name>
      <filter-class>org.ajax4jsf.Filter</filter-class>

      <filter-mapping>
      <filter-name>richfaces</filter-name>
      <servlet-name>Faces Servlet</servlet-name>
      REQUEST
      FORWARD
      INCLUDE
      </filter-mapping>
      <!-- Quartz -->

      <display-name>Quartz Initialzer Servlet</display-name>
      <servlet-name>QuartzInitializer</servlet-name>
      <servlet-class>
      org.quartz.ee.servlet.QuartzInitializerServlet
      </servlet-class>
      <init-param>
      <param-name>config-file</param-name>
      <param-value>quartz.properties</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>

      <!-- JSF Configuration -->

      <listener-class>
      com.sun.faces.config.ConfigureListener
      </listener-class>

      <!-- Spring Configuration -->

      <listener-class>
      org.springframework.web.util.IntrospectorCleanupListener
      </listener-class>


      <listener-class>
      org.springframework.web.util.Log4jConfigListener
      </listener-class>


      <listener-class>
      org.springframework.web.context.ContextLoaderListener
      </listener-class>

      <!-- setup encoding configuration -->

      <filter-name>encodingFilter</filter-name>
      <filter-class>
      org.springframework.web.filter.CharacterEncodingFilter
      </filter-class>
      <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
      </init-param>
      <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
      </init-param>

      <!-- Spring-Hibernate Configuration -->

      <filter-name>hibernateFilter</filter-name>
      <filter-class>
      org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
      </filter-class>

      <!-- Faces Servlet -->

      <servlet-name>Faces Servlet</servlet-name>
      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      <load-on-startup>1</load-on-startup>


      <!-- Quartz -->

      <display-name>Quartz Initialzer Servlet</display-name>
      <servlet-name>QuartzInitializer</servlet-name>
      <servlet-class>
      org.quartz.ee.servlet.QuartzInitializerServlet
      </servlet-class>
      <init-param>
      <param-name>config-file</param-name>
      <param-value>quartz.properties</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>

      <!-- Faces Servlet Mapping -->
      <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
      <login-config>
      <auth-method>BASIC</auth-method>
      </login-config>
      <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>

      </web-app>