diff --git a/src/main/java/net/bootsfaces/component/tab/TabRepeat.java b/src/main/java/net/bootsfaces/component/tab/TabRepeat.java index 35b44144e..9f07bb2fb 100644 --- a/src/main/java/net/bootsfaces/component/tab/TabRepeat.java +++ b/src/main/java/net/bootsfaces/component/tab/TabRepeat.java @@ -725,6 +725,11 @@ public boolean invokeOnComponent(FacesContext faces, String clientId, @Override public boolean visitTree(VisitContext context, VisitCallback callback) { + + if (this.getVar() == null) { + return super.visitTree(context, callback); + } + // First check to see whether we are visitable. If not // short-circuit out of this subtree, though allow the // visit to proceed through to other subtrees. @@ -842,7 +847,6 @@ private void validateIterationControlValues(int rowCount, private boolean visitChildren(VisitContext context, VisitCallback callback) { - Integer begin = this.getBegin(); Integer end = this.getEnd(); Integer step = this.getStep(); @@ -884,14 +888,19 @@ private boolean visitChildren(VisitContext context, VisitCallback callback) { } - public void processDecodes(FacesContext faces) { - if (!this.isRendered()) - return; - this.setDataModel(null); - if (!this.keepSaved(faces)) this.childState = null; - this.process(faces, PhaseId.APPLY_REQUEST_VALUES, null); - this.decode(faces); - } + public void processDecodes(FacesContext faces) { + if (null == this.getVar()) { + super.processDecodes(faces); + } else { + if (!this.isRendered()) + return; + this.setDataModel(null); + if (!this.keepSaved(faces)) + this.childState = null; + this.process(faces, PhaseId.APPLY_REQUEST_VALUES, null); + this.decode(faces); + } + } public void processUpdates(FacesContext faces) { if (!this.isRendered()) return;