2009-12-29 2 views
0

У меня есть простой scrollableDataTable в JSFRichFaces скрипты/стили не загружая

<%@ 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> 

Я думаю, что я делаю что-то неправильно, потому что это дает мне только стол, который я не могу прокручивать и где перевалы находятся перекрытия. Похоже, что javascript, который необходим, не загружен. Я включил это в шаблон

<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> 

Мой 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> 

Кто-нибудь сталкивался с такой же проблемой?

+0

Решенный: проблема в том, что стиль не был загружен, это вызвало перекрытие и не вызвало событие ajax, которое возникает при прокрутке. – onigunn

+0

Итак, вы изменили loadStyleStrategy на ALL, как это было предложено? Или использовал другой подход? – Bozho

+0

Я изменил loadStyleStrategy на ALL, но листал loadScriptStrategy до NONE - я предпочитаю включать скрипты самостоятельно в свой шаблон. – onigunn

ответ

2

Я предложил бы использовать:

<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> 

Это будет автоматически загружать все.

Однако, если вы не хотите (по какой-то причине), вы должны использовать (вместо <script>):

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

(или <a4j:loadStyle /> для CSS)

Потому что это добавляет. jsp/.jsf, но вы не должны использовать его таким образом в общем случае.

+1

Изменение контекстных параметров ко всем не имеет печального эффекта. В любом случае загружается файл framework.pack.js. – onigunn

+0

Итак, теперь в чем проблема? Вы проверили консоль ошибок firefox для конкретных ошибок JS? – Bozho

+0

Смотрите мое обновление Bozho. Спасибо, пока. – onigunn