3

我希望能够使用 JSF 和 AJAX 在 Bootstrap 3 模式上显示我的 dataTable 上的项目的详细信息。相关代码如下。

数据表:

<h:dataTable id="dataTable" value="#{courseController.items}" var="item" class="table table-bordered table-striped table-hover"> 
                <h:column >
                    <f:facet name="header">
                        <h:outputText value="#{item.title}"/>
                    </f:facet>
                    <h:commandLink onclick="$('#course-detail-modal').modal('show');
                            return false;"  value="#{item.title}"  action="#{courseController.showCourseDetail(item.id)}">
                        <f:ajax render=":course-detail-form" execute="@this"/>
                    </h:commandLink>
                </h:column>
            </h:dataTable>

模态:

<h:form id="course-detail-form">
            <div class="modal fade" id="course-detail-modal" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h:outputText value="#{bundle.CourseDetails}" />
                        </div>
                        <div class="modal-body">
                            <div class="row">
                                <div class="col-lg-6">
                                    <h:outputLabel value="#{bundle.Title}" />
                                </div>
                                <div class="col-lg-6">
                                    <h:outputText value="#{courseController.selected.title}" />
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </h:form>

我可以使用以下代码(PrimeFaces)来实现这一点,但我想知道如何在没有第三方软件的情况下做到这一点。

<p:commandLink oncomplete="$('#course-detail-modal').modal('show');" update=":course-detail-form" value="#{item.title}"
                                       action="{courseController.showCourseDetail(item.id)}"/>
4

0 回答 0