Я запускаю веб-приложение Seam с Richfaces для реализации JSF. Я хотел бы сопоставить представление с определенным URL-адресом, как вы могли бы с Spring MVC на карте 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:159) в орг. ajax4jsf.context.AjaxContext.getCurrentInstance (AjaxContext.java:144) at org.ajax4jsf.component.AjaxViewRoot.getViewId (AjaxViewRoot.java:580) at org.ajax4jsf.application.AjaxViewHandler.renderView (AjaxViewHandler.java:203) на com.sun.faces.lifecycle.RenderResponsePhase.execute (RenderResponsePhase.java:108) на com.sun.faces.lifecycle.LifecycleImpl.phase (LifecycleImpl.java:266) на com.sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:159) на javax.faces.webapp.FacesServlet.service (FacesServlet.java:245) на org.mortbay.jetty.servlet.ServletHolder. (ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1148) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java: 83) на org.jboss.seam.web.RewriteFilter.doFilter (RewriteFilter.java:63) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в 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) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в com.walterjwhite.seamCore. servlet.filter.security.SecurityFilter.doFilter (SecurityFilter.java:82) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java:69) на org.jboss.seam.web.IdentityFilter. doFilter (IdentityFilter.java:40) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java:69) на 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.Authentica tionFailureEventFilter.doFilter (AuthenticationFailureEventFilter.java:77) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в com.walterjwhite.seamCore.servlet.filter.security.IpAddressFilter.doFilter (IpAddressFilter.java:70) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в org.jboss.seam.web.ExceptionFilter.doFilter (ExceptionFilter.java:64) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java:73) на 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 $ ФильтрChainImpl.doFilter (SeamFilter. java: 69) at org.jboss.seam.web.LoggingFilter.doFilter (LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.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. (ServletHandler.java:378) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.S essionHandler.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) at org.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.f ilter.security.SecurityFilter.doFilter (SecurityFilter.java:82) на org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java:69) на org.jboss.seam.web.IdentityFilter.doFilter (IdentityFilter.java:40) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в org.jboss.seam.web.MultipartFilter.doFilter (MultipartFilter.java:90) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в com.walterjwhite.seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter (AuthenticationFailureEventFilter.java:77) в org.jboss. seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) at com.walterjwhite.seamCore.servlet.filter.security.IpAddressFilt er.doFilter (IpAddressFilter.java:70) at org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) at org.jboss.seam.web.ExceptionFilter.doFilter (ExceptionFilter.java: 64) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:73) в орг. ajax4jsf.webapp.BaseXMLFilter.doXmlFilter (BaseXMLFilter.java:178) на 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) at org.jboss.seam.web.Ajax4jsfFilter.doFilter (Ajax4jsfFi lter.java:56) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в org.jboss.seam.web.HotDeployFilter.doFilter (HotDeployFilter.java:53) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) на org.jboss.seam.web.LoggingFilter.doFilter (LoggingFilter.java:60) на 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) 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) at org.mortbay.jetty.servlet.Dispatcher.forward (Диспетчер. java: 126) at com.walterjwhite.seamCore.servlet.filter.security.SecurityFilter.doFilter (SecurityFilter.java:62) at 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 $ ФильтрChainImpl.doFilter (SeamFilter.java : 69) на org.jboss.seam.web.MultipartFilter.doFilter (MultipartFilter.java:90) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в com.walterjwhite .seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter (AuthenticationFailureEventFilter.java:77) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в com.walterjwhite.seamCore.servlet .filter.security.IpAddressFilter.doFilter (IpAddressFilter.java:70) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java:69) на org.jboss.seam.web.ExceptionFilter.doFilter (ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java:69) на org.jboss.seam.web.ContextFilter $ 1.process (ContextFilter.java:42) на org.jboss.seam.servlet.ContextualHttpServletRequest.run (КонтекстуальныйHttpServletRequest.java:53) на org.jboss.seam.web .ContextFilter.doFilter (ContextFilter.java:37) на org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter.java:69) на org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.doFilter (SeamFilter .java: 73) на org.jboss.seam.web.HotDeployFilter.doFilter (HotDeployFilter.java:53) в org.jboss.seam.servlet.SeamFilter $ FilterChainImpl.doFilter (SeamFilter.java:69) в орг .jboss.seam.web.LoggingFilter.doFilter (LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter $ ФильтрChainImpl.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) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:417) at org.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.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)
Я пропустил что-то действительно маленькое, это возможно?
Я просто хочу сохранить свой контент в отдельном каталоге, чтобы моя упакованная война была легче разобрать и диагностировать, когда что-то не работает.
Спасибо,
Walter