2013-07-28 23 views
6

Tôi muốn sử dụng <p:blockUI> để chặn toàn bộ chế độ xem. Nhưng vì thuộc tính của nó block chỉ chấp nhận id làm từ khóa chứ không phải là @all, cách duy nhất tôi hiện thấy là có vùng chứa đặt tên (ví dụ: <f:subview>) để bao trùm toàn bộ nội dung của chế độ xem.Cách sử dụng <p:blockUI> trên toàn bộ chế độ xem?

Thật không may là ngữ nghĩa bẩn và tôi sẽ cần phải đổi tên tất cả các id tuyệt đối vì một mới không cần thiết (ngoại trừ <p:blockUI>) id- "tiền tố" đã được tạo ra.

Có cách nào tốt hơn để thực hiện việc này không?

Trả lời

4

Giả sử tôi hiểu chính xác, bạn chỉ cần thêm id vào h:body và tham chiếu id đó trong thuộc tính block của <p:blockUI>. Ngoài ra, bạn sẽ không cần phải thay đổi id của các thành phần của bạn. Ví dụ nhanh

<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> 

Một lần nữa, đây chỉ là một ví dụ ngớ ngẩn đơn giản chặn chế độ xem cho mục đích trình diễn. Tuy nhiên, từ những gì tôi hiểu từ câu trả lời dưới đây, bạn sẽ cần phải sử dụng Mojarra 2.1.8 trở lên để sử dụng id từ h:body.

How to spefic the body id attribute in JSF 2?

+0

Oh yes! Sau khi nâng cấp Mojarra, điều này thật đơn giản. Cảm ơn bạn. :) – Lester

+0

@Lester Bạn được chào đón :) – Andy

Các vấn đề liên quan