mojarra 1.2 から myfaces 2 にアップグレード中です。t:dataScroller タグを使用すると、次のエラーが発生します。
java.io.FileNotFoundException: /WEB-INF/javax.faces.resource/oamSubmit.xhtml Not Found in ExternalContext as a Resource
コードスニペット:
<t:dataScroller id="${name}" for="#{forTable}"
fastStep="10"
pageIndexVar="pageIndex"
paginator="true"
paginatorMaxPages="10"
pageCountVar="pageCountVar"
rowsCountVar="rowsCountVar"
firstRowIndexVar="firstRowIndexVar"
lastRowIndexVar="lastRowIndexVar"
rowIndexVar="rowIndexVar"
paginatorRenderLinkForActive="false"
>
私のページ用に生成された JavaScript スニペットは次のとおりです。
.. src="/app/javax.faces.resource/oamSubmit.js?ln=org.apache.myfaces"> ..
どこかでoamSubmitが javascript ではなく facelet タグとして返されていると思います。構成パラメーターである可能性があると思いましたが、まだ正しい値を見つけていません。
Web.xml スニペット:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
顔-config.xml
<application>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
</application>
更新: スタック トレースの詳細:
WEB-INF/javax.faces.resource/oamSubmit.xhtml リソースとして ExternalContext に見つかりません org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.resolveURL (DefaultFaceletFactory.java:227) で org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.getFacelet (DefaultFaceletFactory.java:170) で org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage._getFacelet (FaceletViewDeclarationLanguage.java:2530) で org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.buildView (FaceletViewDeclarationLanguage.java:435) で org.apache.myfaces.lifecycle.RenderResponseExecutor.execute (RenderResponseExecutor.java:77) で org.apache.myfaces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:241) で org.springframework.faces.mvc.JsfView.renderMergedOutputModel(JsfView.java:85)で org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) で org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) で org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) で org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) で
そして、web.xml のディスパッチャ サーブレット パラメータ
<servlet>
<servlet-name>myApp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myApp</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
JSF ではなく、静的コンテンツをそのまま提供するよう Dispatcher に指示する必要があると思います。