Facelets: Dynamische Attribute

Status
Nicht offen für weitere Antworten.

MrWhite

Bekanntes Mitglied
Hallo!

Bitte entschuldigt das Crossposting, aber ich gehe nicht davon aus, dass mir im javacore Forum jemand antwortet (das schliesse ich aus den Zeitstempeln im J2EE Forum dort).

Hier das Original:

Hallo,

ich versuche eine ui:composition mehrfach zu inkludieren, jedoch will ich beim Inkludieren angeben, welche id die Komposition erhalten soll (und evtl. welche Datenquelle genutzt werden soll). Ich will also manche Attribute der Komposition im Markup beim Inkludieren setzen.

Was mir vorschwebt:

Code:
<ui:include src="someComposition.xhtml">
<attribute name="id" value="theId" />
<attribute name="value" value="#{someComponent.someDataSource}" />
</ui:include>


Ist so etwas irgendwie möglich?

Ich denke ui:param hilft mir nicht viel, da ich die gleiche Komposition mehrfach auf der Seite haben will und die id setzen muss, um z.B. zu rerendern. Deswegen kann ich nicht einfach einen parameter setzen.

Für Informationen sehr dankbar,
MrWhite

(Java Forum @ javaCore.de :: Thema anzeigen - Facelets: Dynamische Attribute)

Weiss jemand ob das überhaupt geht? Vielleicht mit einem Workaround? Bin für jeden Hinweis dankbar.

Mfg.
MrWhite
 

MrWhite

Bekanntes Mitglied
Wenn keiner darauf eine Antwort hat, dann erzaehlt mir doch bitte mal, wie ihr Redundanzen im Code vermeidet. Ich hab doch null Bock darauf zweimal das gleiche Markup zu haben, bei dem sich nur ein Attribut (wie z.B. die id) unterscheidet.

Ich will flexible Kompositionen.
 

faulelotte

Mitglied
Zum einen in diesem Artikel ist z.B. beschrieben wie es zu tun ist.
http://www.ibm.com/developerworks/java/library/j-facelets/

Zum anderen Beispielcode

Template
[XML]
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:rich="http://richfaces.org/rich">

<ui:composition>

<ui:remove>
This xhtml is to render a progressbar.

Attributes:
text - text to display in front of the progressbar
value - the value to display as text and in progressbar
</ui:remove>

<div id="progressBar">
<ul>
<li>
<h:eek:utputText id="progressBar-text" value="${text}" />
</li>
<li>
<div id="progressBar-progressState" class="progress-bar-block progress-bar-width progress-bar-shell" style="">
<div id="progressBar:upload" class="progress-bar-height progress-bar-uploaded null" style="width: ${value}%" />
</div>
</li>
<li>
<h:eek:utputText id="progressBar-value" value="( ${value} % )" />
</li>
</ul>
</div>
</ui:composition>
</html>
[/XML]

Und die Nutzung des Templates:
[XML]
<tag:progressBar text="#{msg.RegistrationProgress}" value="#{registrationBean.registrationProgress}"/>
[/XML]

Deklaration des Taglibs
[XML]
<?xml version="1.0"?>
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"https://facelets.dev.java.net/source/browse/*checkout*/facelets/src/etc/facelet-taglib_1_0.dtd">

<facelet-taglib>
<namespace>removed to protect the innocent</namespace>
<tag>
<tag-name>progressBar</tag-name>
<source>../tags/progressbar.xhtml</source>
</tag>
</facelet-taglib>
[/XML]


Bitte entschuldigt das Crossposting, aber ich gehe nicht davon aus, dass mir im javacore Forum jemand antwortet (das schliesse ich aus den Zeitstempeln im J2EE Forum dort).

Dazu mal ein wenig was, schamlos aus phpforum "geklaut". Ich hoffe dafür erschiesst mich niemand. :eek:

Nimm niemals an, du hättest ein Recht auf eine Antwort.

Das hast du nicht. Schließlich hast du für diese Dienstleistung nicht bezahlt. Du wirst eine Antwort bekommen, indem du eine sinnvolle, interessante und zum Denken anregende Frage stellst, die indirekt zum Wissen der Gemeinschaft etwas beiträgt, und nicht nur passiv das Wissen anderer anzapft.

Signalisiere die Bereitschaft zu lernen und in der Lösungsfindung zu helfen.

Die Fragen "Kann mir jemand einen Tipp geben?", "Was fehlt in meinem Beispiel?" und "Gibt es eine Web-Seite, die ich gesehen haben sollte?" sind wesentlich erfolgversprechender als "Bitte gebt mir die exakte Anleitung, die ich befolgen soll", weil du damit zeigst, dass du den Prozess wirklich zu Ende führen willst, wenn dich jemand in die richtige Richtung weist.

Kennzeichne deine Fragen nicht als "Wichtig", auch wenn sie es für dich sind

Das ist dein Problem, nicht unseres
Dringlichkeit anzumelden ist eher kontraproduktiv: Viele werten die Mitteilung als frechen und selbstsüchtigen Versuch, sofortige und besondere Aufmerksamkeit zu erheischen, und dich ignorieren.

Höflichkeit tut nie weh und hilft manchmal

Sei höflich. Verwende "Bitte" und "Danke für eure Aufmerksamkeit" oder "Danke für die Mühe"
Zeige, dass du die Zeit schätzt, die andere damit verbringen, dir unentgeltlich zu helfen. Um ehrlich zu sein, ist Höflichkeit nicht so wichtig wie (und auf keinen Fall Ersatz für) grammatikalische Korrektheit, Klarheit, Genauigkeit und inhaltliche Vollständigkeit, Fehlen von Formatierung usw. Wenn dich das wundert, denke daran, dass wir eine Frage nach ihrem Lerneffekt beurteilen. In jedem Fall, wenn du deine Hausaufgaben in technischer Hinsicht gemacht hast, erhöht Höflichkeit die Wahrscheinlichkeit einer Antwort.

Just my 2 ct
 
Zuletzt bearbeitet:

MrWhite

Bekanntes Mitglied
You, Sir, made my day!

Ich hab mich echt dumm und deppert gegooglet aber nichts gefunden. Schade ist nur, dass man einen Workaround fuer MethodExpressions braucht und so die erweiterten Method Expressions von Seam nicht eingesetzt werden können. Aber damit kann man leben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
eskimo328 dynamische Navigaiton und JSF (facelets) Web Tier 6
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
W JSF Facelets integriert in JSF ? Web Tier 44
M Tobago und Facelets Web Tier 5
J Facelets javascript compiler problem Web Tier 3
ruutaiokwu jstl-basierendes tag in jsf 2.0. facelets/xhtml? Web Tier 5
D JSF Ajax mit Facelets (PrimeFaces) Web Tier 4
ruutaiokwu facelets content-type... Web Tier 5
ruutaiokwu jsf facelets mit xhtml strict 1.0 Web Tier 2
Y Facelets Dependency gesucht Web Tier 2
T JSF/Facelets mit Seam-Framework Web Tier 7
R JSF Custom Tags + Facelets Web Tier 2
S Facelets Form: Validation abschalten bei Abbrechen-Button Web Tier 2
A JSTL Tags funktionieren nicht in Facelets/MyFaces Web Tier 3
B JSF/Facelets - Fehlermeldung ausgeben Web Tier 13
J dynamische jsf-seite programmatisch erstellen Web Tier 1
E Wie kann ich dynamische HTML- Tabellen(-spalten) mit JSP aus SELECT-Anweisung erstellen? Web Tier 2
M JSF Dynamische Größe bei Primefaces Komponenten Web Tier 2
nrg Dynamische Tabelle Web Tier 4
M JSF Composite components - dynamische dataTable? Web Tier 8
M Problem mit Verlinkung JSP Dynamische Tabelle Web Tier 7
D Dynamische Listen aus der DB holen Web Tier 3
K Dynamische Inhalt auf ein "DIV" laden Web Tier 2
J [JSF] Dynamische Includes (iterative includes) Web Tier 4
Schandro JSP soll dynamische Anzahl an Parametern einer JavaScript-Function erzeugen Web Tier 8
D Richfaces (Seam/Hibernate): dynamische Eingabefelder Web Tier 2
R JSF dynamische Tag Auswahl Web Tier 4
pusteblume Struts multibox - dynamische checkboxen Web Tier 5
L Dynamische Eingabe-Tabelle mit JSF Web Tier 10
G dynamische weboberflächen mit jsf? Web Tier 9
6 JSF Form Attribute nicht an Bean übergeben Web Tier 2
T Spring HTML Tabellen sortieren, filtern, Attribute ausblenden Web Tier 3
H JSF Fehler bei Zugriff auf f:attribute Web Tier 2
5 Servlet Error - cvc-complex-type.4: Attribute 'version' must appear on element 'web-app'. Web Tier 2
M JSF Attribute von Komponenten aus ManagedBeans ändern? Web Tier 4
N Double Attribute in ManangedBean 0.0 Web Tier 6
S Attribute einer HttpSession / unchecked cast Web Tier 8
S Attribute in Objektliste nach gecheckten Checkboxen setzen Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben