Вместо этого вы можете обновить все представление:
<h:commandLink value="Clear" action="#{bean.clear}" immediate="true" />
с
public String clear() {
return FacesContext.getCurrentInstance().getViewRoot().getViewId() + "?faces-redirect=true";
}
immediate="true"
пропустит обработку (и проверку) всех компонентов ввода, которые не 'immediate="true"
.
В качестве альтернативы, фрагмент JavaScript для перезагрузки страницы должен также выполнить:
<h:commandLink value="Clear" onclick="window.location.reload(); return false;" />
Обновление согласно вашим комментариямхотите частичный запрос, затем просто используйте ajax:
<h:commandLink value="Clear" action="#{bean.clear}">
<f:ajax execute="@this" render="@form" />
</h:commandLink>
с
public void clear() {
field1 = null;
field2 = null;
// ...
}
Поскольку execute
имеет значение @this
(что, кстати, уже является значением по умолчанию), так что вы можете опустить его), он не будет обрабатывать всю форму.