2013-07-28 13 views
6

Desidero utilizzare <p:blockUI> per bloccare l'intera visualizzazione. Ma poiché l'attributo block accetta solo ID come parole chiave e non ad es. @all, l'unico modo che vedo attualmente è un contenitore di denominazione (ad esempio <f:subview>) per racchiudere l'intero contenuto della vista.Come utilizzare <p:blockUI> sull'intera vista?

Sfortunatamente questo è semanticamente sporco e avrei bisogno di rinominare tutti gli ID assoluti perché è stato creato un nuovo id ("prefisso" <p:blockUI>) non valido.

C'è un modo più pulito per fare questo?

risposta

4

Supponendo di aver capito correttamente, è sufficiente aggiungere un ID a h:body e fare riferimento a quell'ID nell'attributo block di <p:blockUI>. Inoltre, non è necessario modificare gli ID dei componenti. Esempio rapido

<h:body id="wholeView"> 
    <h:form> 
     <h:inputText/><br/> 
     <h:inputText/><br/> 
     <p:commandButton id="pnlBtn" value="Block Panel" type="button" onclick="bui.show()"/> 
     <p:blockUI block=":wholeView" widgetVar="bui"/> 
    </h:form>  
</h:body> 

Anche in questo caso, questo è solo un esempio stupido che blocca semplicemente la vista a scopo dimostrativo. Tuttavia, da quanto ho capito dalla risposta in basso, è necessario utilizzare Mojarra 2.1.8 o versioni successive per utilizzare l'id da h:body.

How to spefic the body id attribute in JSF 2?

+0

Oh sì! Dopo aver aggiornato Mojarra, questo era semplice. Grazie. :) – Lester

+0

@Lester, sei il benvenuto :) – Andy

Problemi correlati