【发布时间】:2014-07-19 17:35:33
【问题描述】:
带有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 实现中的错误?任何帮助表示赞赏。
【问题讨论】:
标签: twitter-bootstrap jsf jsf-2 composite-component wildfly