JSF Target unreachable

Templarthelast

Bekanntes Mitglied
Hallo,
meine CDI will einfach nicht trotz vorhandener beans.xml keine Verbindung aufbauen :(
Ich bin noch relativ neu in Java EE und finde einfach keine Lösung. Danke schonmal für jede konstruktive Antwort.


Java Datei votePM:
Java:
package com.javaee6.votinator;

import java.io.Serializable;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.inject.Named;

@ManagedBean
@Named
@SessionScoped
public class VotePM implements Serializable {

	private Long id;
	private String fName;
	private String lName;
	private String birthDate;
	private String age;
	private String school;
	private String university;
	private String email;
	private String pw;

	private User user;
	@EJB
	private UserService service;

	@PostConstruct
	public void init() {

	}

	public void greet() {
		System.out.println("test");
	}

	public String login() throws NoSuchUserException {
		id = service.login(this.email, this.pw);
		System.out.println("NO IM SO PRO");

		if (id != 0) {
			id -= 1;
			System.out.println(id);
			user = service.find(id);
			System.out.println(user.getFirstName());
			this.fName = user.getFirstName();
			this.lName = user.getLastName();
			return "success";
		} else {
			return "failed";
		}

	}

	public void addUser() {
		User user = new User();
		user.setFirstName(fName);
		user.setLastName(lName);
		user.setEmail(email);
		user.setPw(pw);
		service.create(user);
	}

	// --- Getters && Setters ---

	public String getBirthDate() {
		return birthDate;
	}

	public String getfName() {
		return fName;
	}

	public void setfName(String fName) {
		this.fName = fName;
	}

	public String getlName() {
		return lName;
	}

	public void setlName(String lName) {
		this.lName = lName;
	}

	public void setBirthDate(String birthDate) {
		this.birthDate = birthDate;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public String getSchool() {
		return school;
	}

	public void setSchool(String school) {
		this.school = school;
	}

	public String getUniversity() {
		return university;
	}

	public void setUniversity(String university) {
		this.university = university;
	}   
 
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPw() {
		return pw;
	}

	public void setPw(String pw) {
		this.pw = pw;
	}

}

zugehörige xhtml Datei index.xhtml:
Java:
<?xml version='1.0' encoding='UTF-8' ?>
<!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:ui="http://java.sun.com/jsf/facelets">

<h:body>
	<ui:composition template="master.xhtml">
		<ui:define name="top">

			<div id="header_logo">Votenetwork</div>
			<div id="login">
				<h:form>
					<table>
						<tr>
							<td>
								<p>Email:</p> <h:message for="login_id"
									id="login_info_required1" /> <h:inputText required="true"
									value="#{votePM.email}" requiredMessage="Email required"
									id="login_id" />
							</td>
							<td>
								<p>Email:</p> <h:message for="login_pw"
									id="login_info_required2" /> <h:inputText required="true"
									value="#{votePM.pw}" requiredMessage="Password required"
									id="login_pw" />
							</td>
						</tr>
						<tr>
							<td><h:commandButton value="login" action="#{votePM.login}" />
							</td>

							<td>Not a Member yet? <h:commandLink
									styleClass="register_link" value="Register"
									action="registration" />
							</td>
						</tr>
					</table>
				</h:form>
			</div>
		</ui:define>

		<ui:define name="leftbar"></ui:define>

		<ui:define name="content">
                Welcome
            </ui:define>
	</ui:composition>

</h:body>
</html>
 
S

Sym

Gast
Die Annotation ManagedBean ist nicht korrekt, wenn Du CDI verwendest. Einfach mal entfernen.

Wenn es weitere Probleme gibt, dann bitte einen Fehlerlog posten.
 

Templarthelast

Bekanntes Mitglied
Gleiches Problem:

javax.servlet.ServletException: /index.xhtml @20,26 value="#{votePM.email}": Target Unreachable, identifier 'votePM' resolved to null
 

mvitz

Top Contributor
Afaik javax.enterprise.context.SessionScoped nutzen! Durch CDI sind die direkten JSF Annotation weitesgehend nicht mehr nötig und man sollte auf keinen Fall CDI und JSF Annotationen mischen.
 

Templarthelast

Bekanntes Mitglied
Als ich heute ein wenig an dem Projekt weiterarbeiten wollte, hab ich mal eine neue Datei erstellt mit
Java:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<body>
#{votePM.email}
</body>
</html>

Dabei kommt einfach nur ein leerer Bildschirm obwohl der Fehler von vorher in der anderen Datei bleibt.
 

Ähnliche Java Themen

Neue Themen


Oben