JBoss-Seam, Eclipse, Entity-Bean cannot be resolved

janpaet

Grünschnabel
Hallo,
Den JBoss 4.2.2 habe ich mit dem jems-installer auf Seam konfiguriert, meine JRE ist 1.6x und ich verwende Eclipse 3.3

Das Beispiel ist aus dem Buch JBoss Seam von mitp, HelloWorld

Problem:
Ich habe das Problem, dass in einer hello.jsp die Entity-Bean Person nicht erkannt wird.
Das gleiche gilt für eine Session-Bean, die eigentlich unter dem Namen manager bekannt sein sollte.
Wenn ich bpsw. für die Entity Person folgenden Code schreibe,
Code:
<h:inputText value="#{person.name}" />
dann erscheint die Warnung "person cannot be resolved".

Wenn mir da jemand weiterhelfen könnte oder irgend einen Ansatz hätte, wäre ich echt dankbar.
Viele Grüße
Jan

Anbei der Code für die Entity-Bean Person.java und der hello.jsp

Person.java
Code:
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;

import org.jboss.seam.annotations.Name;

@Entity
@Name("person")
public class Person implements Serializable{

	private static final long serialVersionUID = 1881413500711441951L;
	private String username;
	private String password;
	
	@Id
	public String getUsername(){return username;}
	public void setUsername(String username){this.username = username;}
	
	public String getPassword(){return password;}
	public void setPassword(String password){this.password = password;}
}
hello.jsp
Code:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>


<body>
<f:view>

	<f:verbatim>
		<h2>Beispiel: »Hallo Welt« in Seam</h2>
	</f:verbatim>

	<h:form>
		<f:verbatim>
                       Bitte geben Sie Ihren Namen ein:<br />
		</f:verbatim>

		<h:inputText value="#{person.name}" size="15" />
		<br />
		<h:commandButton type="submit" value="Sage Hallo"
			action="#{manager.sayHello}" />
	</h:form>

	<f:subview id="fans" rendered="#{!empty(fans)}">
		<f:verbatim>
			<p>Die folgenden Fans haben »Hallo« zu JBoss Seam gesagt:</p>
		</f:verbatim>

		<h:dataTable value="#{fans}" var="fan">
			<h:column>
				<h:outputText value="#{fan.name}" />
			</h:column>
		</h:dataTable>
	</f:subview>

</f:view>
</body>
</html>
 
Das liegt daran, dass deine Benamung nicht übereinstimmt.

mit #{person.username} sollte es gehen. Wenn es dann immer noch nicht gehen sollte, dann versuch es mal im EntityBean mit dem Statement @COLUMN(name="spaltennameDerTabelle") für jedes Feld was da ist.
Und es fehlt noch das Statement @TABLE(name="Tabellenname") nach dem Statement @Name("person")


Dann sollte es gehen.
 
Hallo
Du musst dein EntityBean in Session-Gültigkeitsbereichen(Scope) anhängen.

@Scope(SESSION)
public class ...........

Das wird dein Problem lösen

Gruß
 

Neue Beiträge

Zurück