2016-04-26 37 views
0

xhtmlファイルのBeanに問題があり、認識されていないかインスタンス化されていません。faces-configファイルでmanaged-beanを使用しようとしましたが、うまく機能しません。私のXHTMLファイルにJSFクラスがBeanアノテーションを見つけられません

import javax.annotation.ManagedBean; 
import javax.ejb.EJB; 
import javax.enterprise.context.SessionScoped; 

@ManagedBean(value="loginBean") 
@SessionScoped 
public class LoginBean 

私はこの

<c:set var="log" scope="session" value="#{loginBean.logged}"/> 

ような何かをやっているが、私は(これは私が問題を指していると思わ例外のほんの一部です)

薄くなり、例外を取得しています
javax.el.PropertyNotFoundException: /buy/buy.xhtml @96,78 listener="#{loginBean.logged}": Target Unreachable, identifier 'loginBean' resolved to null 
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:107) 
    at com.sun.faces.facelets.tag.jsf.core.DeclarativeSystemEventListener.processEvent(EventHandler.java:128) 
    at javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2603) 
    at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108) 
    at javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:118) 
    at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2187) 
    at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2135) 
    at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:289) 
    at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:247) 
    at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:726) 
    at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:726) 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:172) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:126) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:485) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:410) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337) 
    at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:118) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
    at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

私はなぜそれが起こっているのか分からないので、誰かが私に助けてくれますか?私はMavenを使用していません。私はJSF 2.1でTomeeだけを使用しています。libフォルダに必要なすべてのjarファイルがあります。私はこの問題について読んでいたので、問題はすべてのクラスがあるはずのprojectname/srcにあると言います。私はまた、ソースと私のプロジェクト構造

Java Build Path Source Image

Project Structure Image

+0

はい、それが重複している必要があります! – Kukeltje

答えて

0

はあなたのBeanはSerializableインタフェースを実装していないと、それは@ManagedBean(name="loginBean")の代わり@ManagedBean(value="loginBean")にする必要がありますが、そのIMOこの場合には、私のJavaのビルド・パスを示しています名前はクラスと同じ名前なので冗長です。

0

あなたのインポートが

import javax.faces.bean.ManagedBean; 
import javax.faces.bean.SessionScoped; 
+1

こんにちは、StackOverflowへようこそ。これらの「基本的な」問題の多くはすでに何らかの形で尋ねられており、対応する答えがあります。これらの複製を検索することは、質問の数をきれいに保つために非常に高く評価されています... – Kukeltje

関連する問題