Umgebungsvariable Variable wird nicht übernommen

Bitschaufler

Mitglied
Hallo Forum, ich bin Neu in der Java Welt unterwegs und habe schon ein Problem das ich auch nach Herr Google und Forumsuche nicht lösen konnte! Ich bitte mal über meinen Code zu schauen und mir evtl einen Schubs in die Richtige Richtung zu geben!

------------------------Code --------------------------------------
Java:
	public void create(ActionEvent event)
	{
    	mSuccess = false;
    	
		final FacesContext facesContext = FacesContext.getCurrentInstance();
    	final FacesResourceBundle bundle = FacesResourceBundle.getBundle(facesContext, ResourceNames.RES_BUNDLE_CMS_TEXT);
    	Log.d("DomainManager.create() - mSelectedDomainTldId: '%s'", mSelectedDomainTldId);  
    	Log.d("DomainManager.create() - mSelectedDomainTld:   '%s'", mSelectedDomainTld);    // bis hier werden die Variablen noch gesetzt!
    	
    	if (mSelectedDomainTld == null)
    	{
    		return;
    	}
    	Connection conn = null;
    	try {
    		// CurrentUser in CustomerId Speichern
    		CmsUser cmsUser = CmsUser.fromFacesContext(facesContext);
    		
    		// Datenbank-Verbindung aus dem DBCP holen.
	        conn = DB.getConnection();
	        
	        // Domain Registrieren! (Später einfügen!!)
      		
	        // DB-Abfrage vorbereiten
	        PreparedStatement stmt = conn.prepareStatement("INSERT INTO tbl_domain(name, domaintldid, customerid) VALUES(?, ?, ?);");
	        stmt.setString(1, this.getDomainName());
	        stmt.setInt(2, mSelectedDomainTld.getId());
	        stmt.setInt(3, cmsUser.getCustomerId());
	        
	        int i = stmt.executeUpdate();
	        if (i == 1) // Alles OK (1 Datensatz wurde geschrieben)!
	        {
	        	// Benutzer mitteilen, dass die Seite erfolgreich erstellt wurde.
	        	facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
	        	bundle.getString("capSuccess"), bundle.getString("msgDomainSuccessfullyCreated")));
 	Log.d("DomainManager.create() - mSelectedDomainTldId 2: '%s'", mSelectedDomainTldId);
	Log.d("DomainManager.create() - mSelectedDomainTld 2:   '%s'", mSelectedDomainTld);
	    	        	
        		mSuccess = true;
        		initDomainList(); // Datensätze neu laden
	        }
	        else // Irgendwas muss schief gelaufen sein :(
	        {
        		new IllegalStateException("INSERT FAILED! Returned number: " + i);
	        }
	        
    	} catch (Exception e) {
        	// In dem Fall stimmt hier irgendwas nicht (Verbindungsprobleme mit der DB oder sonstwas) :(
	        Log.e(e); // Loggen!
        	// Benutzer per FacesMessage benachrichtigen, dass intern etwas schief gelaufen ist
	        // (und er praktisch nichts dafür kann).
        	facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL,
        			bundle.getString("capError"), bundle.getString("msgInternalServerError")));
	        
    	} finally {
        	if (conn != null) {
            	// WICHTIG!!! Immer die Verbindung wieder schliessen!
        		// Und zwar egal, ob es Fehler hagelt oder alles ok ist!
        		// Deshalb wird das hier im "finally"-Block gemacht.
        		try { conn.close(); } catch (SQLException e) {};
        	}
    	}
------------------------Code Ende--------------------------
----------------------Consolen ausgabe---------------------


DEBUG: SecurityFilter - Request URI: /TiescherCMS/javax.faces.resource/images/ui-bg_glass_50_3a75c4_1x400.png.html
DEBUG: SecurityFilter - Skipping authentication for that resource...
DEBUG: SecurityFilter - Request URI: /TiescherCMS/javax.faces.resource/images/ui-icons_eeeeee_256x240.png.html
DEBUG: SecurityFilter - Skipping authentication for that resource...
DEBUG: SecurityFilter - Request URI: /TiescherCMS/javax.faces.resource/images/ui-bg_flat_55_fbec88_40x100.png.html
DEBUG: SecurityFilter - Skipping authentication for that resource...
DEBUG: SecurityFilter - Request URI: /TiescherCMS/cms.html
DEBUG: SecurityFilter - Secured resource. Checking session...
DEBUG: cmsUser: @SessionScoped @ManagedBean 'cmsUser' - username: 'Bitschaufler'
DEBUG: DomainManager.initTldMap() - TLD: '280'
DEBUG: DomainManager.initTldMap() - TLD: '281'
DEBUG: DomainManager.initTldMap() - TLD: '270'
DEBUG: DomainManager.initTldMap() - TLD: '278'
DEBUG: DomainManager.initTldMap() - TLD: '268'
DEBUG: DomainManager.initTldMap() - TLD: '283'
DEBUG: DomainManager.initTldMap() - TLD: '279'
DEBUG: DomainManager.initTldMap() - TLD: '269'
DEBUG: DomainManager.initTldMap() - TLD: '277'
DEBUG: DomainManager.initTldMap() - TLD: '273'
DEBUG: DomainManager.initTldMap() - TLD: '271'
DEBUG: DomainManager.initTldMap() - TLD: '272'
DEBUG: DomainManager.initTldMap() - TLD: '274'
DEBUG: DomainManager.initTldMap() - TLD: '275'
DEBUG: DomainManager.initTldMap() - TLD: '276'
DEBUG: DomainManager.setSelectedDomainTldId(277)
DEBUG: FacesMessagesPhaseListener.beforePhase() - event.getPhaseId(): RENDER_RESPONSE 6
DEBUG: FacesMessagesPhaseListener.beforePhase() - fmc: null
DEBUG: SecurityFilter - Request URI: /TiescherCMS/javax.faces.resource/images/ui-bg_flat_0_000000_40x100.png.html
DEBUG: SecurityFilter - Skipping authentication for that resource...
DEBUG: SecurityFilter - Request URI: /TiescherCMS/cms.html
DEBUG: SecurityFilter - Secured resource. Checking session...
DEBUG: cmsUser: @SessionScoped @ManagedBean 'cmsUser' - username: 'Bitschaufler'
DEBUG: DomainManager.initTldMap() - TLD: '280'
DEBUG: DomainManager.initTldMap() - TLD: '281'
DEBUG: DomainManager.initTldMap() - TLD: '270'
DEBUG: DomainManager.initTldMap() - TLD: '278'
DEBUG: DomainManager.initTldMap() - TLD: '268'
DEBUG: DomainManager.initTldMap() - TLD: '283'
DEBUG: DomainManager.initTldMap() - TLD: '279'
DEBUG: DomainManager.initTldMap() - TLD: '269'
DEBUG: DomainManager.initTldMap() - TLD: '277'
DEBUG: DomainManager.initTldMap() - TLD: '273'
DEBUG: DomainManager.initTldMap() - TLD: '271'
DEBUG: DomainManager.initTldMap() - TLD: '272'
DEBUG: DomainManager.initTldMap() - TLD: '274'
DEBUG: DomainManager.initTldMap() - TLD: '275'
DEBUG: DomainManager.initTldMap() - TLD: '276'
DEBUG: FacesResourceBundle.getBundle() - bundle locale: 'de_DE'
DEBUG: DomainManager.create() - mSelectedDomainTldId: 'null'
DEBUG: DomainManager.create() - mSelectedDomainTld: 'null'
DEBUG: FacesMessagesPhaseListener.beforePhase() - event.getPhaseId(): RENDER_RESPONSE 6
DEBUG: FacesMessagesPhaseListener.beforePhase() - fmc: null
-----------------Ende Console------------------------------
Ich weiß nicht wo die Variable verloren geht und auf null gesetzt wird!
Für anregungen bin ich dankbar!
 
Hm - nach längerem Studiumdes umfangreichen outputs bin ich darauf gekommen, dass du wohl mSelectedDomainTldId meinst ;-)

Das ist in deinem Codeausschnitt nicht zu erkennen - es ist ja nicht ersichtlich wo die Varible ist, was sie ist, ob sie überhaupt jemals gesetzt wird ...
 
Sorry ja es geht um
DEBUG: DomainManager.create() - mSelectedDomainTldId: 'null'
die vorher
DEBUG: DomainManager.setSelectedDomainTldId(277)
durch ein Dropdown Feld gewählte 277 steht für eine domainendung z.b.: .net!
An der stelle wo die Endung in eine DB geschrieben werden soll setzt es aus!
😳
 
Prazise Fehlermeldung und Zeile würde helfen. Ich behaupte aber immer noch, dass die Variable auch zuvor niemals gesetzt wurde.
Gibts denn eine Exception? Wenn ja welche? .... Unsere Glaskugeln sind nämlich zur Zeit alle in Reparatur.
 
Hab die Lösung gefunden war mit der xhtml Seite nicht im reinen! Jetzt hat alles IDs und Formular in Formular ist bei Primefaces nicht die beste Idee gewesen! Die variablen waren nur für das eine Form gültig und wurden wieder zu null als die andere form aufgerufen wurde!
Danke euch erstmal
Grüße Bitschaufler
 

Zurück
Oben