Tôi đang xây dựng trang web bằng cách sử dụng các nguyên tố 5 và máy chủ wildfly. Tôi gặp vấn đề với việc sử dụng thành phần. Tôi có trong mỗi hàng như sau. Button đã xác định thuộc tính actionlistener gọi phương thức bean sao lưu và sau đó nó sẽ hiển thị hộp thoại. Dưới đây là một số mã:Tiện ích hộp thoại Primefaces 5.0var
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:pt="http://java.sun.com/jsf/composite/components"
template="../templates/mainTemplate.xhtml">
<ui:define name="title"></ui:define>
<ui:define name="main-content">
<h:form>
<p:dataTable id="dataTable" value="#{bean.list}" var="item"
styleClass="hide-column-header small-text">
<!-- some columns -->
<p:column style="width: 18%; text-align: center;">
<p:commandButton value="Open dialog" actionListener="#{bean.buttonListener(item)}" oncomplete="PF('dlg').show();"/>
</p:column>
</p:dataTable>
</h:form>
<p:dialog id="dialog" widgetVar="dlg" resizable="false" modal="true"
header="Dialog">
<h:form> <!-- some inputs --> </h:form>
</p:dialog>
</ui:define>
</ui:composition>
Nhưng nó không hoạt động. Tôi kiểm tra giao diện điều khiển chrome và nhận được thông báo "Widget cho var 'Widget cho var' dlg 'không có sẵn!" khi bấm vào nút vì vậy tôi đã kiểm tra 'Primefaces.widgets' và thực sự không có widget cho hộp thoại của tôi. Bất cứ ai có thể giúp tôi với điều đó?
// chỉnh sửa
Ok tôi cuối cùng cũng làm cho nó hoạt động. Bằng thử và sai, tôi đã tìm thấy dòng này trong mẫu của tôi:
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.1.min.js"></script>
Sau khi xóa mọi thứ bắt đầu hoạt động theo kế hoạch. Tôi nghĩ rằng đó là bởi vì thủ tướng đi kèm với phiên bản riêng của jquery phải không?
Bạn có thể thử PF (': dlg')? – adam0404
Trường hợp của bạn rất cơ bản, nó sẽ hoạt động. Kiểm tra xem bạn có bất kỳ lỗi javascript nào khi tải trang không. –
bạn cũng có thể vui lòng đăng mã 'bean' của mình không? – alex