如何在Java Server Faces中处理引导程序模式?

用户名

我喜欢复合组件中的原理,但这和引导程序模式不能一起使用。

什么是管理多个“定制复合组件”对话框并在JSF-Table中像此示例一样使用的最佳实践。将“受管Bean值”从选定的行传递到对话框。

仅当我全部写在一个页面文件中时,这才对我有用。请参阅最后一个。

bootstrapModal.xhtml封装在复合组件中的模态

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:cc="http://xmlns.jcp.org/jsf/composite">

<cc:interface>

    <cc:attribute name="title" />
    <cc:attribute name="linkNameLable" />
    <cc:attribute name="linkNameValue" />
    <cc:attribute name="urlNameLable" />
    <cc:attribute name="urlNameValue" />
    <cc:attribute name="saveButtonText" />
    <cc:attribute name="saveButtonAction" 
                  method-signature="java.lang.String action()" />

</cc:interface>

<cc:implementation>

    <div id="#{cc.clientId}" class="modal fade myModal" tabindex="-1" role="dialog" aria-labelledby="myModal" aria-hidden="true" >
        <div class="modal-dialog">  
            <div class="modal-content">
                <div class="modal-body">
                    <h:form>
                        <h:outputLabel   value="#{cc.attrs.linkNameLable}" />
                        <h:inputText     value="#{cc.attrs.linkNameValue}" />
                        <h:outputLabel   value="#{cc.attrs.urlNameLable}" />
                        <h:inputText     value="#{cc.attrs.urlNameValue}"  /> 
                        <h:commandButton value="#{cc.attrs.saveButtonText}" action="#{cc.attrs.saveButtonAction}" />
                    </h:form>
                </div>
            </div>
        </div>
    </div>

</cc:implementation>
</html>

包装div不起作用。

<div id=#{cc.clientId}>...</div>

我也尝试将ID传递到表单中。

<h:form id=#{cc.clientId}

view.xhtml与复合组件不起作用。f:ajax无法从复合组件渲染ID


...
<script>
    function showModal() {
        $('#myModal').modal('show');
    }
</script>
...
<h:dataTable id="myTable" value="#{linkController.linkList}" var="o">   
...          
    <h:column>
        <f:facet name="header">Actions</f:facet>
        <h:form>
            <h:commandLink value="edit" onclick="showModal()" action="#{linkController.setLinkFromParam}">
                <f:ajax render="myModal value1 value2" />
                <f:param name="name" value="#{o.name}"  />
                <f:param name="url"  value="#{o.url}"   />
            </h:commandLink>
        </h:form>
    </h:column>
</h:dataTable>

<!-- 1.outside the Table rendering works fine -->

<h:outputText id="value1" value="#{linkController.name}" /><br />
<h:outputText id="value2" value="#{linkController.url}" />


<!-- 2.The render for this id does not work -->

<mahi:bootstrapModal    title="Edit Link" 
                        id="myModal" 
                        linkNameLable="Link Name:" 
                        linkNameValue="#{linkController.name}"
                        urlNameLable="URL:"
                        urlNameValue="#{linkController.url}"
                        saveButtonText="Save"
                        saveButtonAction="#{linkController.updateLink(link)}" />

带有Composite Component内容的view.xhtml可以正常工作。因为我可以直接使用id =“ myModalForm”呈现h:form。

...
<script>
    function showModal() {
        $('#myModal').modal('show');
    }
</script>
...
<h:dataTable id="myTable" value="#{linkController.linkList}" var="o">   
...          
    <h:column>
        <f:facet name="header">Actions</f:facet>
        <h:form>
            <h:commandLink value="edit" onclick="showModal()" action="#{linkController.setLinkFromParam}">
                <f:ajax render="myModalForm" />
                <f:param name="name" value="#{o.name}"  />
                <f:param name="url"  value="#{o.url}"   />
            </h:commandLink>
        </h:form>
    </h:column>
</h:dataTable>

<!-- The Content from the Custom Composite Component works -->

<div id="myModal" class="modal fade myModal" tabindex="-1" role="dialog" aria-labelledby="myLinkModal" aria-hidden="true" >
    <div class="modal-dialog">  
        <div class="modal-content">
            <div class="modal-body">
                <h:form id="myModalForm">
                    <h:outputLabel   value="Name:" />
                    <h:inputText     value="#{linkController.name}" />
                    <h:outputLabel   value="URL:" />
                    <h:inputText     value="#{linkController.url}" /> 
                    <h:commandButton value="Save" action="#{linkController.saveLink(link)}" />
                </h:form>
            </div>
        </div>
    </div>
</div>
阿云

简单的解决方案:

将类添加到您的模态中以进行调用,然后将您的模态作为类而不是像id那样调用:

模态:>

<div id="#{cc.clientId}" class="modal fade myModal"

脚本:>

<script>
function showModal() {
    $('.myModal').modal('show');
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何在SQL Server中编写foreach?

来自分类Dev

如何在SQL Server中匹配复杂的模式?

来自分类Dev

您如何处理引导加载程序中的中断?

来自分类Dev

如何在Java Server Faces 2中维护对象列表

来自分类Dev

如何在SQL Server中拆分URL

来自分类Dev

如何在Java中的Apache Mina Sshd Server中设置根目录

来自分类Dev

如何在超级HTTP Server处理程序中设置HTTP状态代码?

来自分类Dev

如何在Java Server Faces中处理引导方式?

来自分类Dev

引导程序如何在模式窗口中显示行中的数据

来自分类Dev

如何在SQL Server中多联接

来自分类Dev

如何在手机中隐藏引导程序模式

来自分类Dev

如何在CROSS APPLY中处理空行[SQL Server]

来自分类Dev

如何在SQL Server中串联datepart?

来自分类Dev

如何在SQL Server中“使用”架构

来自分类Dev

如何在SQL Server中存储令牌

来自分类Dev

在无所事事的引导外壳程序脚本中安装mysql-server(如何跳过设置?)

来自分类Dev

在Java Server Faces中重置面板网格的更正确方法

来自分类Dev

如何在模式中设置引导表格

来自分类Dev

Coalesce如何在SQL Server中工作?

来自分类Dev

如何在引导程序中处理奇数列

来自分类Dev

如何在套接字编程中从Server(server.java)socket连续侦听PHP(client.php)套接字

来自分类Dev

如果通过Ajax加载引导程序,如何在引导程序中打开模式?

来自分类Dev

如何在超级HTTP Server处理程序中设置HTTP状态代码?

来自分类Dev

如何在Java程序中包含mysql-server

来自分类Dev

如何通过检查JavaScript中的cookie从引导程序显示模式

来自分类Dev

如何在Java的udp(client,server)程序中为客户端设置端口号?

来自分类Dev

ConcurrentLinkedQueue:如何在 Java 中实现处理程序?

来自分类Dev

如何在引导程序 v4 模式中传递值?

来自分类Dev

如何在 Laravel 中循环引导模式?

Related 相关文章

  1. 1

    如何在SQL Server中编写foreach?

  2. 2

    如何在SQL Server中匹配复杂的模式?

  3. 3

    您如何处理引导加载程序中的中断?

  4. 4

    如何在Java Server Faces 2中维护对象列表

  5. 5

    如何在SQL Server中拆分URL

  6. 6

    如何在Java中的Apache Mina Sshd Server中设置根目录

  7. 7

    如何在超级HTTP Server处理程序中设置HTTP状态代码?

  8. 8

    如何在Java Server Faces中处理引导方式?

  9. 9

    引导程序如何在模式窗口中显示行中的数据

  10. 10

    如何在SQL Server中多联接

  11. 11

    如何在手机中隐藏引导程序模式

  12. 12

    如何在CROSS APPLY中处理空行[SQL Server]

  13. 13

    如何在SQL Server中串联datepart?

  14. 14

    如何在SQL Server中“使用”架构

  15. 15

    如何在SQL Server中存储令牌

  16. 16

    在无所事事的引导外壳程序脚本中安装mysql-server(如何跳过设置?)

  17. 17

    在Java Server Faces中重置面板网格的更正确方法

  18. 18

    如何在模式中设置引导表格

  19. 19

    Coalesce如何在SQL Server中工作?

  20. 20

    如何在引导程序中处理奇数列

  21. 21

    如何在套接字编程中从Server(server.java)socket连续侦听PHP(client.php)套接字

  22. 22

    如果通过Ajax加载引导程序,如何在引导程序中打开模式?

  23. 23

    如何在超级HTTP Server处理程序中设置HTTP状态代码?

  24. 24

    如何在Java程序中包含mysql-server

  25. 25

    如何通过检查JavaScript中的cookie从引导程序显示模式

  26. 26

    如何在Java的udp(client,server)程序中为客户端设置端口号?

  27. 27

    ConcurrentLinkedQueue:如何在 Java 中实现处理程序?

  28. 28

    如何在引导程序 v4 模式中传递值?

  29. 29

    如何在 Laravel 中循环引导模式?

热门标签

归档