在jsf模板页面中包装h:form标签是最佳做法吗?

时间:2010-02-12 03:34:08

标签: jsf hyperlink command components

<p><h:commandLink value="Apply Now" action="register" /></p>

当我编写上面的代码时,抛出以下异常:

  

[2/12/10 11:24:29:535 CST] 0000005f renderkit W组件j_id26必须包含在表单中。

最佳做法在jsf模板页面中包装ah:form标签,然后每个使用该模板的页面都可以直接使用h:commandLink标签而不用犹豫h:表格标签?

1 个答案:

答案 0 :(得分:3)

我认为<h:form><f:view>不应位于模板页面中,因为:

  • 您无法自定义其属性,例如:enctypebeforePhase
  • 您可能需要在页面中使用多个表单。
  • 您可能在某些时候需要将<h:form>替换为<a4j:form>(例如)

如果您有许多非常简单的网页,那么您可以制作一个替代模板,其中包含主模板,并添加<f:view><h:form>