» »

JSF težave s SessionScoped

JSF težave s SessionScoped

brinovcek ::

Pozdravljeni,

imam nekaj težav pri implementaciji preproste spletne java aplikacije za dodajanje strank v nek seznam (List - ker gre za prototip). Proogram mi vprača napako, da je seme neberljivo in se instancira na null... zanima me če se kdo spozna na ta JSF 2.0 in mi pomaga odpraviti težavo (predvidevam da gre za neko finto).

AddCustomerBean koda :
package rso.seminarska243.bean.customer;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

@Named("test")
@SessionScoped
public class AddCustomerBean implements Serializable {

	private static final long serialVersionUID = 1L;
	/**
	* Lastnosti
	*/

	private int posta, davcnaSt;
	//private Oseba oseba;
	private boolean zavezanecDDV;
//	@Inject
//	private CustomerBean seznam;
       private int posta, davcnaSt;
	private String podjetje, telefon, telefon2, fax, webNaslov, eMail, trr,
			naslov, kraj, drzava;

	//private Customer stranka;
	
	/**
	* Kosntruktorji
	*/
	
	public AddCustomerBean(){
		
	}

	/**
	* Getter in Setter metode
	*/

	public int getPosta() {
		return posta;
	}

	public void setPosta(int posta) {
		this.posta = posta;
	}

	public int getDavcnaSt() {
		return davcnaSt;
	}

	public void setDavcnaSt(int davcnaSt) {
		this.davcnaSt = davcnaSt;
	}

	public boolean isZavezanecDDV() {
		return zavezanecDDV;
	}

	public void setZavezanecDDV(boolean zavezanecDDV) {
		this.zavezanecDDV = zavezanecDDV;
	}

	public String getPodjetje() {
		return podjetje;
	}

	public void setPodjetje(String podjetje) {
		this.podjetje = podjetje;
	}

	public String getTelefon() {
		return telefon;
	}

	public void setTelefon(String telefon) {
		this.telefon = telefon;
	}

	public String getTelefon2() {
		return telefon2;
	}

	public void setTelefon2(String telefon2) {
		this.telefon2 = telefon2;
	}

	public String getFax() {
		return fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	public String getWebNaslov() {
		return webNaslov;
	}

	public void setWebNaslov(String webNaslov) {
		this.webNaslov = webNaslov;
	}

	public String geteMail() {
		return eMail;
	}

	public void seteMail(String eMail) {
		this.eMail = eMail;
	}

	public String getTrr() {
		return trr;
	}

	public void setTrr(String trr) {
		this.trr = trr;
	}

	public String getNaslov() {
		return naslov;
	}

	public void setNaslov(String naslov) {
		this.naslov = naslov;
	}

	public String getKraj() {
		return kraj;
	}

	public void setKraj(String kraj) {
		this.kraj = kraj;
	}

	public String getDrzava() {
		return drzava;
	}

	public void setDrzava(String drzava) {
		this.drzava = drzava;
	}

//	public Customer getStranka() {
//		return stranka;
//	}
//
//	public void setStranka(Customer stranka) {
//		this.stranka = stranka;
//	}

	/**
	* Metode
	*/

	public boolean shraniStranko() {
		try {
//			stranka = new Customer(podjetje, kraj, naslov, posta, drzava, trr,
//					davcnaSt, true, telefon, telefon2, fax, webNaslov, eMail);
//			return seznam.dodajStranko(stranka);
			setPodjetje("Test");
		} catch (Exception ex) {
			System.err.print("Napaka v metodi shraniStrnako():"
					+ ex.getMessage().toString());
			return false;
		}
		return false;
	}
}


Pogled za addCustomer bean:
<?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"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>
	<ui:composition template="../template/template.xhtml">
		<ui:define name="vsebina">
			<h:form>
				<table>
					<tr>
						<td><h:outputLabel value="Podjetje:" for="podjetje" /></td>
						<td><h:inputText value="#{test.podjetje}"
						
								id="podjetje" required="true"
								requiredMessage="Prosim vnesi ime podjetja." maxlength="50" />
						</td>
					</tr>
<tr>
						<td><h:outputLabel value="Davčna št.:" for="podjetje" /></td>
						<td><h:inputText value="#{test.davcnaSt}"
						
								id="davcna" required="true"
								requiredMessage="Prosim vnesi davčno številkop podjetja." maxlength="50" />
						</td>
					</tr>

					<tr>
						<td><h:outputLabel value="Preveri vrednost bean 
podjetje:" /></td>
						<td><h:outputText value="#{test.podjetje}" />
						</td>
					</tr>
				</table>
				<div>
				<h:commandButton value="Shrani" action="#{test.shraniStranko}" type="submit"/>
				</div>
			</h:form>
		</ui:define>
	</ui:composition>
</h:body>
</html>

kr?en ::

Anotacija je @ManagedBean(value="test") in ne @Named("test").

Pa @SessionScoped je iz javax.faces.bean namespacea.

Zgodovina sprememb…

  • spremenil: kr?en ()

brinovcek ::

Uporabljati moram CDI beans zato potrebuješ vključiti anotacijo @Named in xml dokument beans, kar sem naredil. Zanimivo je, da mi loginBean dela medtem ko tale pa ne.

kr?en ::

Hmm, s CDI beani se nisem delal.

Samo se eno opazanje; shraniStranko() ti mora vracati String, ker action="#{test.shraniStranko}" pricakuje naslednji pogled/stran za prikaz.

http://www.jsftoolbox.com/documentation...

Zgodovina sprememb…

  • spremenil: kr?en ()

dmok ::

Kje ti vrne napako ? Imaš datoteko beans.xml v WEB-INF ?

d.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Java] Objekt poslan k metodi v kakšnem stanju?

Oddelek: Programiranje
211565 (1012) shadeX
»

[Java] Urejanje baze z JTable

Oddelek: Programiranje
81020 (804) vonNeumann
»

[JAVA] Naloga

Oddelek: Programiranje
111380 (1208) roba87
»

Vmesnik v Javi

Oddelek: Programiranje
142277 (2060) Camel
»

[Java][Naloga] Seznam študentov, majčken problem

Oddelek: Programiranje
362324 (2011) VASkO

Več podobnih tem