Tôi khá mới đối với JSF và PrimeFaces và có một vài vấn đề trong việc phát triển bố cục trang đầy đủ với nhiều menu.Cập nhật trang động trong bố cục các bố cục lồng nhau
Issue # 1
Chúng tôi có một bố cục trang đầy đủ bằng PrimeFaces 3.3 với các đơn vị bố trí lồng nhau ở phía bên trái như sau:
<p:layoutUnit id="west" position="west" header="Services" resizable="true" closable="true" collapsible="true" effect="drop">
<p:layout>
<p:layoutUnit id="inner_center" position="center">
<h:form id="formMainMenu">
<ui:include src="#{menuBean.pageToDisplay}.xhtml" />
</h:form>
</p:layoutUnit>
<p:layoutUnit id="inner_south" size="200" position="south">
<h:form id="formStartMenu">
<p:menu>
<p:submenu label="Start Menu">
<p:menuitem value="Start" actionListener="#{#menuBean.setPageToDisplay('template/menu/start')}" update=":inner_center" />
</p:submenu>
</p:menu>
</h:form>
</p:layoutUnit>
</p:layout>
</p:layoutUnit>
Đây là đậu ủng hộ:
@ManagedBean(name = "menuBean")
@SessionScoped
public class menuBean implements Serializable {
private String pageToDisplay = "template/menu/main";
public String getPageToDisplay() {
return this.pageToDisplay;
}
public void setPageToDisplay(String pageToDisplay) {
this.pageToDisplay = pageToDisplay;
} }
Khi tôi nhấp vào menuItem, toàn bộ LayoutUnit (inner_c enter) biến mất. Tôi đã thử nhiều kết hợp các biểu mẫu và các điều khiển Panel cùng với Ajax và không thể tải trang và menu thứ hai. Có lẽ cách tiếp cận của tôi là không chính xác do kiến thức hạn chế của tôi trong JSF. Tôi hy vọng điều này đơn giản và tôi chỉ thiếu nó.
Từ trình đơn Hành động của tác vụ, tôi muốn tải một bean menu PrimeFaces khác trong đơn vị bố trí inner_center .. có lẽ tôi không cần thực hiện điều này và chỉ cần gọi trình đơn qua Ajax?
ISSUE # 2 Với bố cục lồng nhau này, khi trang tải, tiêu đề LayoutUnit gốc "Dịch vụ" biến mất hoàn toàn.
<p:layoutUnit id="west" position="west" header="Services" resizable="true" closable="true" collapsible="true" effect="drop">
Bất kỳ trợ giúp hoặc lời khuyên nào về cách tiếp cận tổng thể được đánh giá cao !!
Cảm ơn!
Một số thông tin môi trường: Mojara 2.1, Primefaces 3.3, NetBeans IDE 7.0.1 + Glassfish –
Tôi không thể chắc chắn, nhưng sự cố này có thể xảy ra nếu các trang được chèn có thành phần biểu mẫu. Các biểu mẫu lồng nhau sẽ gây ra vấn đề. –
Cảm ơn. Bạn là chính xác .. nó được khuyến khích rằng các hình thức được đặt bên trong các điều khiển layoutUnit, mà tôi đã làm ... cũng đảm bảo không có thẻ biểu mẫu có mặt trong các trang được tải. Tôi sẽ thử lại bằng cách sử dụng '' và PanelGroup. Có thể một tham chiếu bị tắt. LÝ DO, tôi muốn bỏ qua tải một trang và đặt một menu trực tiếp trong layoutUnit và điền nó một cách động bằng cách chuyển một giá trị. ' ' ..không chắc chắn cách tốt nhất. –