复合组件与h:形成奇怪的渲染

时间:2014-05-30 03:16:32

标签: twitter-bootstrap jsf jsf-2 composite-component wildfly

具有h:form的复合组件以奇怪的方式呈现。这是我正在使用的JSF标记:

<div id="modals">
  <div id="modal1">
    <custom:mycomp />
  </div>
  <div id="modal2">
    <custom:mycomp />
  </div>
  <div id="modal3">
    <custom:mycomp />
  </div>
</div>

出于某种原因,不是将每个复合组件呈现在其各自的div内,而是呈现的HTML的源代码如下所示:

<div id="modals">
  <div id="modal1">
    <div class="modal-dialog"><!-- My rendered component --></div>        
    <div id="modal2">
      <div class="modal-dialog"><!-- My rendered component --></div> 
      <div id="modal3">
        <div class="modal-dialog"><!-- My rendered component --></div> 
      </div>
    </div>
  </div>
</div>

它们在彼此内部渲染,而不是在同一级别上。我发现删除复合组件中的h:form可以解决问题,但我需要它来触发一些操作。复合组件呈现 Twitter Bootstrap 模式的标记:

<cc:interface></cc:interface>
<cc:implementation>
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header"><!-- HEADER --></div>
    </div>
    <div class="modal-body">
      <h:form>
        <!-- My form. Removing this form renders the HTML correctly but I need it to invoke some actions here -->
      </h:form>
    </div>
  </div>
</cc:implementation>

我正在使用 Wildfly 8.0.0 Final 。是否有我缺少的东西或者这是JSF实现中的错误?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

没关系,它似乎是实施中的一个错误。已更改为 Wildfly 8.1.0-CR2 ,现在工作正常。