我在使用嵌套机箱时遇到了一些问题,我想知道它是否是我编码中的错误,或者我正在尝试的用法是不是本机支持的。
像:
<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,我想在开始寻找可见性控制器上的问题之前确保这一点。
我已经挖掘了一些文档和搜索引擎一段时间了,但是没有找到任何提及支持或不支持的嵌套机箱。
谢谢!
答案 0 :(得分:1)
很抱歉这么晚的回复,我没有看到你的评论。
我不相信有任何与嵌套有关的文件限制&lt; wicket:enclosure&gt;标签;但是,已经记录的标签还有一些其他限制。
第一个限制记录在Wicket tag doc:
中在Ajax回调方法中更改子组件的可见性不会影响整个机箱,只会影响子组件本身。这是因为只添加了子组件 到AjaxRequestTarget。
和
如果机箱下面直接有多个wicket组件,则必须通过在机箱的子属性中提供其ID来指定哪一个控制可见性:
第二,关于使用&lt; wicket:enclosure&gt;隐藏FormComponents有一个关闭的issue。标签。基本上,标签隐藏的任何FormComponent仍将在表单提交上进行验证。如果您查看日志,则会针对此问题提供警告消息。
注意: Wicket的“记录”一词有些含糊不清。我想你只需要习惯拼凑各种来源的信息,以便找到问题的答案。如有疑问,请尝试查找源代码的javadoc或内联注释。这些通常是最好的文件来源。