2009-12-29 5 views
0

가 나는 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> 

나는 이것이 내가 스크롤 할 수 있고, COLS 어디있는 유일한 테이블 저를 생산하기 때문에 내가 뭔가 잘못하고 있다고 생각에서 간단한 scrollableDataTable이로드되지 중복. 필요한 자바 스크립트가로드되지 않은 것 같습니다. 나는 템플릿에이 포함

<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

context-params를 all로 변경해도 슬프게도 영향을 미치지 않습니다. 어쨌든 framework.pack.js가로드됩니다. – onigunn

+0

이제 문제가 무엇입니까? 콘크리트 JS 오류에 대한 firefox 오류 콘솔을 확인 했습니까? – Bozho

+0

내 업데이트보기 Bozho. 지금까지 감사드립니다. – onigunn