Announcement

Collapse
No announcement yet.

ServletException: Target Unreachable

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ServletException: Target Unreachable

    Hallo zusammen,
    leider komme ich nicht weiter. Vielleicht kann mir ja jemand von Euch weiter helfen oder einen Ansatz geben.

    Ich verwende jboss-4.2.2.GA und jboss-seam-2.2.0.GA.

    Über eine Hallo.xhtml versuche ich eine Methode einer Bean aufzurufen, bekomme aber folgende Fehlermeldung:
    Code:
    ServletException: #{manager.sayHello}: javax.el.PropertyNotFoundException: /Hallo.xhtml @10,85 action="#{manager.sayHello}": Target Unreachable, identifier 'manager' resolved to null
    Der Code der Hallo.xhtml ist:
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets">
    
          <body>
    	<f:view >
    		<h:form >
    			<h:commandButton type="submit" value="Say hello" action="#{manager.sayHello}" />
    		</h:form>
    			
    		<h:outputText value="Test-Seite" />
    		<h:dataTable value="#{lstUsers}" var="user">
    			<h:column>			
    				<h:outputText value="#{user.uid}"/>
    			</h:column>
    			<h:column >
    				<h:outputText value="#{user.username}" />
    			</h:column>		
    		</h:dataTable>
    	</f:view>
        </body>
    </html>
    Der Code der Manager-Bean ist:
    Code:
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import org.jboss.seam.annotations.In;
    import org.jboss.seam.annotations.Name;
    import org.jboss.seam.annotations.Out;
    
    @Stateless
    @Name("manager")
    
    public class ManagerAction implements Manager{
    
    	@In @Out
    	private Users users;
    	
    	@Out
    	private List<Users> lstUsers;
    	
    	@PersistenceContext
    	private EntityManager em;
    
    	public String sayHello(){		
    		lstUsers = em.createQuery("select u from Users u").getResultList();
    		return null;
    	}
    }
    und der Code der Entity-Bean ist:
    Code:
    import java.io.Serializable;
    import javax.persistence.*;
    import org.jboss.seam.annotations.Name;
    
    @Entity
    @Name("users")
    
    public class Users implements Serializable{
    
    	private static final long serialVersionUID = 1L;
    	
    	private long uid;
    	private String username;
    	
    	@Id public long getUid(){return uid;}
    	public void setUid(long uid){this.uid = uid;}
    	
    	public String getUsername(){return username;}
    	public void setUsername(String username){this.username = username;}
    }
    Vielen Dank,
    Gruß Jan

  • #2
    Wie sieht die

    faces-config.xml

    aus?
    Christian

    Comment


    • #3
      Hallo Christian,
      die faces-config hat folgenden Inhalt:

      Code:
      <?xml version="1.0"?>
      <faces-config version="1.2" 
      	xmlns="http://java.sun.com/xml/ns/javaee"
       	xmlns:xi="http://www.w3.org/2001/XInclude"
       	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee             
      	http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
       						
         <application>
            <locale-config>
               <default-locale>de</default-locale>
               <supported-locale>en</supported-locale>
            </locale-config>
      
            <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
            
            <resource-bundle>
            	<base-name>com.priestoph.messages</base-name>
            	<var>msgs</var>
            </resource-bundle>
            
         </application>
      
       <lifecycle>
        <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
       </lifecycle>
      
      </faces-config>
      
      Viele Grüße
      Jan

      Comment


      • #4
        M.E. fehlt dort der "managed-bean" Eintrag für die Bean
        Christian

        Comment


        • #5
          Hallo Christian,
          wie müsste der Eintrag aussehen?
          Im Buch für Seam wird die Managed-Bean in der faces-config.xml leider nicht eingetragen.

          Vielen Dank
          Gruß Jan

          Comment


          • #6
            http://download.oracle.com/docs/cd/B...pendixa009.htm
            Christian

            Comment


            • #7
              Problem gelöst!

              Die seam.properties war nicht direkt im app.jar - Verzeichnis hinterlegt, sondern im Package der übrigen Klassen.
              Zuletzt editiert von janpaet; 11.10.2009, 20:03.

              Comment

              Working...
              X