Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JSF] Ho registrato un managed bean ma a runtime non esiste

    Consideriamo che la directory root è la directory della mia applicazione che risiede in tomcat/webapps.

    /WEB-INF/faces-config.xml
    codice:
    ...
    		<managed-bean>
    				<managed-bean-name>UserBean</managed-bean-name>
    				<managed-bean-class>com.jsftest.UserBean</managed-bean-class>
    				<managed-bean-scope>session</managed-bean-scope>
    		</managed-bean>
    ...
    Il sorgente Java del bean è in /WEB-INF/src/com/jsftest/UserBean.java.
    Il file compilato è /WEB-INF/classes/com/jsftest/UserBean.class.

    Cerco di usare il managed bean attraverso:
    codice:
    	<f:view>
    	
    		<h:form>
    		
    			<h:inputText value="#{UserBean.username}" />
    
    
    			<h:commandButton value="click here" />
    		
    		</h:form>
    	
    	</f:view>
    Ma quando clicco sul bottone, PAM! Errore:
    codice:
    exception
    
    javax.servlet.ServletException: /prova.jsp(23,3) '#{UserBean.username}' Target Unreachable, identifier 'UserBean' resolved to null
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
    
    root cause
    
    org.apache.jasper.el.JspPropertyNotFoundException: /prova.jsp(23,3) '#{UserBean.username}' Target Unreachable, identifier 'UserBean' resolved to null
    	org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
    	com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:129)
    	javax.faces.component.UIInput.getConvertedValue(UIInput.java:943)
    	javax.faces.component.UIInput.validate(UIInput.java:868)
    	javax.faces.component.UIInput.executeValidate(UIInput.java:1078)
    	javax.faces.component.UIInput.processValidators(UIInput.java:670)
    	javax.faces.component.UIForm.processValidators(UIForm.java:229)
    	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1039)
    	javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:672)
    	com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)
    	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:132)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
    Dov'è che sbaglio?

    Ciao!
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

  2. #2
    Ora, senza alcuna modifica (probabilmente per il riavvio del server), mi dà un errore diverso e non mi visualizza neanche il form:

    codice:
    description The server encountered an internal error () that prevented it from fulfilling this request.
    
    exception
    
    javax.servlet.ServletException: com.jsftest.UserBean
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
    
    root cause
    
    java.lang.ClassNotFoundException: com.jsftest.UserBean
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
    	java.beans.Beans.instantiate(Unknown Source)
    	java.beans.Beans.instantiate(Unknown Source)
    	com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:310)
    	com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:521)
    	com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:83)
    	javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
    	com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58)
    	org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
    	org.apache.el.parser.AstValue.getValue(AstValue.java:86)
    	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
    	org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
    	javax.faces.component.UIOutput.getValue(UIOutput.java:176)
    	com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:100)
    	com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:282)
    	com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:208)
    	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:847)
    	javax.faces.component.UIComponent.encodeAll(UIComponent.java:893)
    	javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
    	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:827)
    	javax.faces.component.UIComponent.encodeAll(UIComponent.java:883)
    	javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
    	com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:258)
    	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
    	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)
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

  3. #3
    Posta il codice di UserBean
    Al mio segnale... scatenate l'inferno!

  4. #4
    codice:
    package com.testjsf;
    
    public class UserBean{
    
    	private String username;
    	private String password;
    
    	public UserBean(){ }
    
    	public String getUsername(){
    		return username;
    	}
    	
    	public String getPassword(){
    		return password;
    	}
    	
    	public void setUsername(String username){
    		this.username = username;
    	}
    	
    	public void setPassword(String password){
    		this.password = password;
    	}
    	
    }
    Le versioni che uso sono JSF 1.2 e Tomcat 6.0.
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

  5. #5
    codice:
    <managed-bean-class>com.jsftest.UserBean</managed-bean-class>
    codice:
    package com.testjsf;
    
    public class UserBean{
    Al mio segnale... scatenate l'inferno!

  6. #6
    Ahaahahaha.

    Incredibile...

    Grazie! (e dire che ci guardavo apposta a quei particolari )
    "Il problema delle citazioni su Internet è verificarne l'autenticità." (Winston Churchill)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.