用奇怪的方式渲染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实现中的错误?
没关系,这似乎是实现中的错误。更改为Wildfly 8.1.0-CR2,现在工作正常