我有一个自定义组件,可以根据表名从数据库中呈现selectOneMenu。
在JSF 1.2中,我必须从MenuRenderer类重写encodeBegin方法,并且我有这段代码来验证回发是否为真:
@Override
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
if (context.isPostback()) {
return;
}
// More code to load items
}
如果我在页面中使用此组件并直接访问URL,则项目加载正常(因为回发为假),但是当我按导航规则转发时,项目未加载(因为回发为真)。
在JSF 1.2(Mojarra)中,这种方法运行良好,但在MyFaces 2.0(IBM为8.5)中,前向导航时始终是PostPack。
删除回发验证有什么影响?
编辑:
为了补充我的问题,你可以阅读link,因为我有同样的问题。在JSF 1.2中它有所不同吗?