2009-12-29 6 views
0

J'ai simple scrollableDataTable dans un jsfscripts RichFaces/styles ne se charge pas

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 
<!-- RichFaces tag library declaration --> 
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%> 
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%> 
<f:view> 


<h:form> 
    <div id="contentvoll"> 
    <div id="contenttabelle"> 
    <rich:scrollableDataTable value="#{searchBean.searchList}" styleClass="fullTable" rowClasses="odd,even" var="elem" id="suchTable" 
    first="1" rows="50" rowKeyVar="activeRow" activeRowKey="#{searchBean.activeRowKey}" frozenColCount="1"> 
    <rich:column> 
     <f:facet name="header"> 
     <h:outputText value="Firmennummer"></h:outputText> 
     </f:facet> 
     <h:outputText value="#{elem.firmnr}"></h:outputText> 
    </rich:column> 
    <rich:column> 
     <f:facet name="header"> 
     <h:outputText value="Firmenname"></h:outputText> 
     </f:facet> 
     <h:outputText value="#{elem.fname1}"></h:outputText> 
    </rich:column> 
    </rich:scrollableDataTable> 
    </div> 
    <div class="update"></div> 
    </div> 
</h:form> 
</f:view> 

Je pense que je fais quelque chose de mal parce que cela me donne seulement une table que je ne peux pas faire défiler et où les sont Col. chevauchement On dirait que le javascript nécessaire n'est pas chargé. J'inclus dans ce modèle

<script src="/portal/faces/rfRes/org/ajax4jsf/framework.pack.js" type="text/javascript"></script> 
<script src="/portal/faces/rfRes/org/richfaces/ui.pack.js" type="text/javascript"></script> 

Mon web.xml

<context-param> 
<param-name>org.ajax4jsf.RESOURCE_URI_PREFIX</param-name> 
<param-value>rfRes</param-value> 
</context-param> 


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

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

<!-- JSF configuration --> 
<context-param> 
<param-name>javax.faces.application.CONFIG_FILES</param-name> 
<param-value>/WEB-INF/faces-config.xml</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>org.richfaces.LoadStyleStrategy</param-name> 
<param-value>NONE</param-value> 
</context-param> 
<context-param> 
<param-name>org.richfaces.LoadScriptStrategy</param-name> 
<param-value>NONE</param-value> 
</context-param> 
<context-param> 
<param-name>javax.portlet.faces.renderPolicy</param-name> 
<param-value>NEVER_DELEGATE</param-value> 
</context-param> 
<!-- Faces Servlet --> 
<servlet> 
<servlet-name>Faces Servlet</servlet-name> 
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
<load-on-startup> 1 </load-on-startup> 
</servlet> 

<!-- Faces Servlet Mapping --> 
<servlet-mapping> 
<servlet-name>Faces Servlet</servlet-name> 
<url-pattern>/faces/*</url-pattern> 
</servlet-mapping> 

Est-ce que quelqu'un a fait face au même problème?

+0

Résolu: Le problème était que le style n'était pas chargé, ce qui provoquait le chevauchement et ne déclenchait pas l'événement ajax qui se produisait lors du défilement. – onigunn

+0

Vous avez donc modifié loadStyleStrategy sur ALL, comme suggéré? Ou utilisé une autre approche? – Bozho

+0

J'ai changé loadStyleStrategy à ALL mais j'ai laissé loadScriptStrategy à NONE - Je préfère ne pas inclure les scripts dans mon template. – onigunn

Répondre

2

Je suggère d'utiliser:

<context-param> 
    <param-name>org.richfaces.LoadStyleStrategy</param-name> 
    <param-value>ALL</param-value> 
</context-param> 
<context-param> 
    <param-name>org.richfaces.LoadScriptStrategy</param-name> 
    <param-value>ALL</param-value> 
</context-param> 

Cela va charger tout automatiquement.

Cependant, si vous ne voulez pas (pour une raison quelconque), vous devez utiliser (au lieu de <script>):

<a4j:loadScript src="resource:///org/ajax4jsf/framework.pack.js" /> 

(ou <a4j:loadStyle /> pour css)

Parce qu'il ajoute. suffixe jsp/.jsf, mais vous n'êtes pas censé l'utiliser de cette manière dans le cas courant.

+1

La modification des paramètres-contexte à tous n'a malheureusement pas d'effet. De toute façon, le fichier framework.pack.js est chargé. – onigunn

+0

alors, quel est le problème? Avez-vous vérifié la console d'erreur firefox pour les erreurs JS concrètes? – Bozho

+0

voir ma mise à jour Bozho. Merci pour l'instant. – onigunn