JSF中的encodeBegin vs encodeEnd,应该首选哪一个

时间:2013-07-10 12:23:49

标签: jsf jsf-1.2

我使用javax.faces.render.Renderer类来渲染我的自定义组件。我重写encodeBeginencodeEnd以获得我想要的输出。

我想知道何时应该使用这些方法中的任何一种?是否应该使用encodeBeginencodeEnd何时使用指南?

1 个答案:

答案 0 :(得分:6)

这取决于组件树层次结构。关键是,你期待孩子吗?当有孩子时,您希望编码输出看起来像什么?

通常,如果要在编码子项之前对输出进行编码,则使用encodeBegin()。例如。像HTML <div>这样的开始标记。通常,如果要在编码子项后编码输出,则使用encodeEnd()。例如。像HTML </div>这样的结束标记。或者可能是额外的<script>,它应该适用于之前生成的<div>