2

我在使用嵌套外壳时遇到了一些问题,我想知道这是否是我的编码中的一个错误,或者我正在尝试的用法是否不受本机支持。

像这样的东西:

<wicket:enclosure child="primary">
    <wicket:message key="primary.select">Primary Server</wicket:message>
    <select id="primary" wicket:id="primary"></select>
    <wicket:enclosure child="backup">
        <wicket:message key="backup.label"/>
        <span id="backup" wicket:id="backup"></span>
    </wicket:enclosure>
</wicket:enclosure>

问题很简单,是否可以像这样使用 HTML,我想在开始寻找可见性控制器上的问题之前确保这一点。

我已经研究了一些文档和搜索引擎一段时间,但没有发现任何关于支持或不支持嵌套外壳的提及。

谢谢!

4

1 回答 1

1

抱歉这么晚才回复,我没有看到你的评论。

我不认为有任何与嵌套 <wicket:enclosure> 标签相关的记录限制;但是,已记录的标签还有一些其他限制。

第一个限制记录在Wicket 标签文档中:

在 Ajax 回调方法中更改子组件的可见性不会影响整个外壳,只会影响子组件本身。这是因为只有子组件被添加到 AjaxRequestTarget。

如果外壳正下方有多个检票口组件,则必须通过在外壳的子属性中提供其 id 来指定哪一个控制可见性:

其次,关于使用 <wicket:enclosure> 标签隐藏 FormComponents存在一个已解决的问题。基本上任何被标签隐藏的 FormComponent 仍然会在表单提交时得到验证。如果您查看日志,则会针对此问题给出警告消息。

注意: Wicket 的“已记录”一词有些含糊。我想您只需要习惯于将各种来源的信息拼凑在一起,就可以找到问题的答案。如有疑问,请尝试查找源代码的 javadoc 或内联注释。这些通常是最好的记录来源。

于 2012-08-13T11:42:19.037 回答