JSF/JSP mit BeanProblem

chillazz

Mitglied
hallo,

ich habe eine Bean zur Datenverwaltung die eine Hashmap benutzt.
jetzt habe ich in meiner JSP das hier geschrieben für eine ausgabe:
Code:
	<h:panelGrid columns="1" style="vertical-align:top">
					<hx:dataTableEx id="PresenceList" value="#{buddylistbean.entries}"
						var="BuddyBeanElement">
						<hx:columnEx id="PM">
							<f:facet name="header">
								<h:outputText styleClass="outputText" value="PresenceList"
									id="PL"></h:outputText>
							</f:facet>
							<h:outputText value="#{BuddyBeanElement.uri}"
								styleClass="outputText">
							</h:outputText>
						</hx:columnEx>
					</hx:dataTableEx>
				</h:panelGrid>



so sieht meine getFunktion aus die meine Daten holen soll:
Code:
	public Collection getEntries() {
		return entries.values();
	}


also ich kann mit der datatable iterieren bekomme dann auf meiner jsp seite eben die ausgabe wo es im speicher steht.. also dies geht auch..
wenn ich dann aber direkt auf einen wert, bei mir z.b. "uri" angezeigt haben will..davon den wert zeigt er mir aus der ausgeführten jsp garnix an..





wäre super wenn mir jemand helfen könnte damit ich weiter komme...
 
Zuletzt bearbeitet:
Hallo,

also der dataTable Tag von JSF arbeitet laut Spezifikation nur mit Objekten, Arrays, java.util.List-Implementierungen, java.sql.ResultSet, java.servlet.jsp.jstl.sql.Result und javax.faces.model.DataModel. Jetzt weiß ich nicht, welche JSF-Implementierung du benutzt - es gibt wohl auch welche (Tomahawk?), die auch "Nichtstandardobjekte" unterstützen.

Meine Vermutung ist, dass die Collection als normales skalares Objekt behandelt wird, also keine Iteration stattfindet.
Versuch doch mal, statt der Collection eine Liste zu benutzen - also z.B.
Code:
public List getEntries(){
 return new ArrayList(entries.values);
}

evtl. funktioniert es ja dann.

Viele Grüße
THMD
 
Das aufrufen von
Code:
"#{BuddyBeanElement.uri}"
führt zur delegation an die Methode getUri() die bei dir nicht implementiert ist da du ja nur eine Hashmap mit einträgen hast. Deshalb kann auch nichts angezeigt werden.
Wenn du dir nur die Einträge anschauen willst, nimm die List Klasse, wie THMD schon geschrieben hat.
 
Zurück