JSF実装用にRichfacesを使用してSeamWebアプリケーションを実行しています。URLマップのSpringMVCの場合と同じように、ビューを特定のURLにマップしたいと思います。
これが私の/WEB-INF/pages.xmlのスニペットです
<page view-id="*" scheme="http">
<navigation from-action="#{identity.logout}">
<redirect view-id="/content/index.xhtml"/>
</navigation>
</page>
<page view-id="/content/index.xhtml">
<rewrite pattern="/index"/>
</page>
したがって、これからわかるように、私のインデックスページは実際には/content/index.xhtmlにあります。私が抱えている問題は、Seam/JSFが奇妙な理由でここでのリダイレクトを好まないことです。拡張機能を削除したときにこれは正常に機能していましたが、別のディレクトリに配置すると何かが壊れたようです。好奇心旺盛な人のために私が得ている例外は次のとおりです。
18:54:17,525 DEBUG [ExceptionFilter] exception root cause
java.lang.NullPointerException:FacesContextは、org.ajax4jsf.context.AjaxContext.getCurrentInstance(AjaxContext.java:144)のorg.ajaxContext.getCurrentInstance(AjaxContext.java:159)のorg.ajax4jsf.componentでnullです。 AjaxViewRoot.getViewId(AjaxViewRoot.java:580)at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:203)at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)at com.sun .faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245 )org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1148)org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:83)at org.jboss.seam.web.RewriteFilter.doFilter(RewriteFilter.java:63)at org.jboss.seam.servlet .SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at com.walterjwhite.webContent.servlet.filter.FirstVisitFilter.doFilter(FirstVisitFilter.java:55)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter .java:69)org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)atcom.walterjwhite。 seamCore.servlet.filter.security.SecurityFilter.doFilter(SecurityFilter.java:82)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)atorg.jboss.seam.web.IdentityFilter。 doFilter(IdentityFilter.java:40)org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)at org.jboss.seam.servlet .SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at com.walterjwhite.seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter(AuthenticationFailureEventFilter.java:77)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69)at com.walterjwhite.seamCore.servlet.filter.security.IpAddressFilter.doFilter(IpAddressFilter.java:70)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69) )org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)atorg.jboss.seam。servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:73)at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510)at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69) )org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1139)atorg.mortbay.jetty.servlet。 ServletHandler.handle(ServletHandler.java:378)org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)at org.mortbay.jetty.handler.ContextHandler .handle(ContextHandler.java:765)at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:334)atorg。 mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)at com.walterjwhite.webContent.servlet.filter.FirstVisitFilter.doFilter(FirstVisitFilter.java:49)at org.jboss.seam.servlet.SeamFilter$FilterChainImpl。 doFilter(SeamFilter.java:69)at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at com .walterjwhite.seamCore.servlet。filter.security.SecurityFilter.doFilter(SecurityFilter.java:82)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter。 java:40)org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)at org.jboss.seam .servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at com.walterjwhite.seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter(AuthenticationFailureEventFilter.java:77)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl .doFilter(SeamFilter.java:69)at com.walterjwhite.seamCore.servlet.filter.security.IpAddressFilter.doFilter(IpAddressFilter.java:70)atorg.jboss.seam.servlet。SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java: 69)org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:73)at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)at org.ajax4jsf.webapp.BaseFilter.handleRequest (BaseFilter.java:290)org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)atorg.jboss.seam.web。 Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)組織で。jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)at org.jboss.seam.servlet.SeamFilter$FilterChainImpl。 doFilter(SeamFilter.java:69)at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1139)at org .mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378)at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler .java:181)org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)atorg.mortbay.jetty。 servlet.Dispatcher。forward(Dispatcher.java:334)at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)at com.walterjwhite.seamCore.servlet.filter.security.SecurityFilter.doFilter(SecurityFilter.java:62) org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69) )com.walterjwhite.seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter(AuthenticationFailureEventFilter.java:77)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)atcom。walterjwhite.seamCore.servlet.filter.security.IpAddressFilter.doFilter(IpAddressFilter.java:70)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)atorg.jboss.seam.web。 org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)のExceptionFilter.doFilter(ExceptionFilter.java:64)org.jboss.seam.web.ContextFilter $ 1.process(ContextFilter.java:42) )org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:73)at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) org.jboss.seamで。org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)のservlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter.java:69)org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter(SeamFilter。 java:69)org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1139)at org.mortbay.jetty .servlet.ServletHandler.handle(ServletHandler.java:378)at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181 )org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)atorg.mortbay.jetty.handler.ContextHandlerCollection。handle(ContextHandlerCollection.java:230)at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay .jetty.Server.handle(Server.java:324)at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)at org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)のorg.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)でorg.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)でmortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.Server.handle(Server.java: 324)org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)at org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865)at org.mortbay.jetty.HttpParser.parseNext(HttpParser .java:539)org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)atorg.mortbay.io.nio.SelectChannelEndPoint。 run(SelectChannelEndPoint.java:409)at org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.Server.handle(Server.java: 324)org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)at org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865)at org.mortbay.jetty.HttpParser.parseNext(HttpParser .java:539)org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)atorg.mortbay.io.nio.SelectChannelEndPoint。 run(SelectChannelEndPoint.java:409)at org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.Server.handle(Server.java:324)at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)at org.mortbay .jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)at org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool。 java:520)handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.Server.handle(Server.java:324)at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)at org.mortbay .jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)at org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool。 java:520)535)org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser .java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)at org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)535)org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser .java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)at org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)409)org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)409)org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)
私は本当に小さなものが欠けていますか?これは可能ですか?
パッケージ化された戦争を分解して何かが機能しない場合に診断しやすくするために、コンテンツを別のディレクトリに保持したいだけです。
ありがとう、
ウォルター