ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
5434
5434
EMPFEHLEN
-
Klingt kompliziert, gibt aber bestimmt ne super einfache Lösung.
Ich will auf meine mit <c: definierten Werte auch in Textinputfeldern oder SelectMenüs zugreifen können. Wie stell ich das an? ${irgendwas} wird auch so in das Feld reigeschrieben.
Mal nen Beispiel, das nicht geht:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<c:forEach items="${client.routeInfo.myroute.routeelements}" var="routeelement" varStatus="index"> <c:choose> <c:when test="${routeelement.status == 2}"> <h:inputText value="${routeelement.eingabe}" styleClass="inputfieldleft" required="true" rendered="true"> </c:when> <c:when test="${routeelement.status == 1}"> <h:selectOneMenu required="true" value="${routeelement.adresse}"> <f:selectItems id="Addresses" value="${routeelement.adressen}" /> </h:selectOneMenu> </c:when> </c:choose> </c:forEach>
Ausgabe im HTML-inputText ist:
Code :1
${routeelement.eingabe}
beim Select gibt's nen Fehler, weil es halt nur nen String is.Geändert von Basti54 (13.06.05 um 19:39 Uhr)
come ready to play!
-
Keiner 'ne Idee?
Oder vielleicht kann man die Variable irgendwie setzen, dass man das ganze mit den jsf-Tags nutzen kann?come ready to play!
-
Also ich kann mit c:set die Variable setzen, und dann auch in beispielsweise den <h.inputText> per #{name} einlesen. Das funktioniert aber auch nur solange, wie ich nur ein Element habe. will ich jedoch einen Vector oder so durch iterieren, bekomm ich eine NullPointer. Logisch, da der Name immer gleich bleibt und der JSF Tag vom Vorgänger ins Leere zeigt!
Weiß denn da keiner weiter?come ready to play!
-
Ok, vergessen wir mal JSTL und fragen wir mal anders:
Wie kann ich einen Vector mit JSF durchiterieren, auch wenn mir die Anzahl der Elemente nicht bekannt ist. Die Anwendung soll den Wert jedes Elements in einem input-Feld ausgeben.
Der Zugriff würde ja so erfolgen:
Code :1 2 3 4
<h:inputText value="#{elements[1].userinput}" styleClass="inputfieldleft" required="true" /> <h:inputText value="#{elements[2].userinput}" styleClass="inputfieldleft" required="true" />
Wie kann ich das aber in eine Schleife packen (elements ist ein Vector)? Am besten ist eine Zählschleife, da ich zu jedem Objekt im Vector noch eindeutig definierte Buttons brauche (also ButtonElement1, ButtonElement2, ..)come ready to play!
-
Ok. so also auch nicht.
Hab es jetzt mit nem h:dataTable gemacht.
Code :1 2 3 4 5 6 7
<h:dataTable value="#{client.routeInfo.myroute.routeElementsAsList}" var="routeElement" border="0"> <h:column> <h:inputText value="#{routeElement.userinput}" styleClass="inputfieldleft" required="true"> </h:column> </h:dataTable>
Das geth auch. Problem jetzt:
Ich brauch eine Ablaufsteuerung da drin! Sprich eine if Abfrage eines jeden Elements. Da ist mir eingefallen, man könnte ja <c:if test=... nutzen. nur mit ${routeElement} bekomm ich nicht das Objekt, was im DataTable gemeint ist. Kann da vllt einer helfen?come ready to play!
-
Ich schein wohl mit dem Problem alleine da zu stehen....Keine Tipps?
come ready to play!
-
Hab das Problem gelöst. Und zwar doch
recht einfach.
Es gibt ein Attribut zu jeder JSF-Komponente, dass sich "rendered" nennt. hier
kann ich aus meinem Element eine boolean-Methode aufrufen, die den Status
verifiziert. gibt's ein true, wird die Komponente gerendert, wenn false, dann
nicht.come ready to play!
Ähnliche Themen
-
MVC Konzept Frage - JSTL Tags funktionieren nicht in Facelets/MyFaces
Von alan79 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 15.05.08, 23:23 -
Dynamische Website JSTL Tags, Eintrag in DB löschen
Von tplanitz im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 20.07.06, 16:50 -
JSTL Function-Tags im Spring Framework
Von Issy im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 17.07.06, 11:16 -
[JSF] JSTL Tags werden nicht interpretiert
Von Basti54 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 26Letzter Beitrag: 24.10.05, 18:16 -
Zugriff auf denn Inhalt des div tags
Von Gerold Kumpfhuber im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 16.11.04, 11:35





Zitieren
Login





