JSF ViewHandlerWrapper导致空指针异常
题
我有一个JSF ViewHandlerWrapper一个小问题,我已经编码。它工作正常,大部分的时间,但有时我会从钻嘴鱼科的核心得到一个NullPointerException,因此开始怀疑我是否正确执行我的ViewHandlerWrapper。
public class TokenViewHandler extends ViewHandlerWrapper {
private ViewHandler parent;
public TokenViewHandler(ViewHandler parent) {
this.parent = parent;
}
@Override
public ViewHandler getWrapped() {
return parent;
}
@Override
public void renderView(FacesContext context, UIViewRoot viewToRender) throws IOException, FacesException {
final String token = UUID.randomUUID().toString();
findAndModifyForms(viewToRender, token, context);
getWrapped().renderView(context, viewToRender);
}
private void findAndModifyForms(final UIComponent component, final String token, final FacesContext ctx) {
if (component instanceof UIForm) {
final HtmlInputHidden hidden = (HtmlInputHidden) ctx.getApplication().createComponent(HtmlInputHidden.COMPONENT_TYPE);
hidden.setValue(token);
component.getChildren().add(hidden);
} else {
for (UIComponent tempComponent : component.getChildren()) {
findAndModifyForms(tempComponent, token, ctx);
}
}
}
}
从代码,你就会发现我想添加一个 inputHidden -component与UUID值到每个表格上的视图。
由于我没有发现ViewHandlerWrappers我认为它应该看起来像一个ExceptionHandlerWrapper但因为我得到的偶尔使用NPE的ViewHandler我任何很好的例子,我认为什么是错的,我似乎无法看到它。
不隶属于 StackOverflow