2013-07-28 3 views
6

Ich möchte <p:blockUI> verwenden, um die gesamte Ansicht zu blockieren. Aber wie es Attribut block akzeptiert nur IDs als Schlüsselwörter und nicht z. @all, die einzige Möglichkeit, die ich derzeit sehe, ist einen Namensbehälter (z. B. <f:subview>), um den gesamten Inhalt der Ansicht zu umhüllen.Wie benutzt man <p:blockUI> für die gesamte Ansicht?

Leider ist das semantisch schmutzig und ich müsste alle absoluten IDs umbenennen, weil ein neues unnötiges (außer <p:blockUI>) ID- "Präfix" erstellt wurde.

Gibt es einen saubereren Weg, dies zu tun?

Antwort

4

Angenommen, ich verstehe richtig, Sie könnten einfach eine ID zu h:body hinzufügen und diese ID im block Attribut von <p:blockUI> referenzieren. Außerdem müssten Sie die IDs Ihrer Komponenten nicht ändern. Schnelles Beispiel

Wieder ist dies nur ein dummes Beispiel, das einfach die Ansicht zu Demonstrationszwecken blockiert. Aus dem, was ich aus der Antwort unten verstehe, müssen Sie jedoch Mojarra 2.1.8 oder höher verwenden, um die ID von h:body zu verwenden.

How to spefic the body id attribute in JSF 2?

+0

Oh ja! Nach der Modernisierung von Mojarra war das einfach. Vielen Dank. :) – Lester

+0

@Lester Du bist willkommen :) – Andy