根据这个wiki条目:
Wicket应该支持嵌套的表单。 但是,当我尝试使用它们时,一切都会中断。
这是我的代码的简化版本:
<form wicket:id="outer">
<!-- some fields... -->
<form wicket:id="inner">
<!-- some fields... -->
</form>
<!-- some other fields... -->
</form>
似乎没问题,但在生成的HTML输出中,内部表单的开始标记:
<form wicket:id="inner">
刚刚失踪。完全没了!
这显然意味着内部表单的结束</form>
标记现在被解释为外部表单的结束标记,而最后一个</form>
结束标记没有相应的开口标签了。长话短说:结果HTML不正确,它打破了整个页面。
如何阻止内部表单打开<form ...>
标记消失?
答案 0 :(得分:2)
内部表单的<form>
标记已转换为<div>
。其结束标记应该是相同的。
根据HTML规范将<form>
嵌套在另一个<form>
内无效!
在将标记传递给Wicket之前检查标记是否有效。您必须只有一个问题 - 嵌套<form>
。修复其他一切!