将所有页面内容包装在顶级模板中的表单中是否常见?

时间:2010-08-09 10:34:27

标签: templates jsf facelets

我的项目中有一个顶级模板,它定义了几个嵌套在表单中的子模板:

<h:form>
   <ui:insert name="header"/>
   <ui:insert name="leftbar"/>
   <ui:insert name="maincontent"/>
</h:form>

实际上以这种方式构建应用程序并不是我的想法。我看到它的优点和缺点。

我遇到的最大问题是在1页上需要2个表单:第一个是默认enctype,第二个是上传文件。第二个最大的问题是验证不必要的字段(但是通过使用jstl c:if禁用那些字段上的验证可以相对容易地解决这个问题。

我目前正在使用JSF和Facelets,但任何模板框架都可以实现所描述的设计。

那么,我想问一下:你觉得使用这个包装形式怎么样?这是一种常见的做法吗?

1 个答案:

答案 0 :(得分:4)

当然不是。您现在正在为页面中的所有操作使用一个“超级表单”。这不是常见做法。每个相关的输入元素组都应该以自己的形式放置。如果您在标题中提交搜索表单,则不希望在主要内容中验证/提交您的联系表单。