JSF Showcase
FacesContextHelperUtil
FacesContextHelperUtil is a convenience utility that reduces the boilerplate code required to add messages or scripts, find components, obtain request attributes, and more.General Usage
A script can be added to the response via FacesContextHelperUtil.addScript(java.lang.String). The script will be written out at the bottom of the page (or in the<eval>
section in a partial response) in the response of the current request.
Source Code
- <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
- <h:outputScript library="bootstrap" name="js/jquery.min.js" target="head" />
- <h:outputScript library="bootstrap" name="js/bootstrap.min.js" target="head" />
- <h:form>
- <h:commandButton actionListener="#{facesContextHelperUtilBacking.openDialog}"
- value="#{i18n['show-modal']}">
- <f:ajax />
- </h:commandButton>
- </h:form>
- <h:panelGroup styleClass="modal showcase-modal-dialog" style="display: none;">
- <h:panelGroup layout="block" styleClass="modal-dialog">
- <h:panelGroup layout="block" styleClass="modal-content">
- <h:panelGroup layout="block" styleClass="modal-body">
- <h:form>
- <h:inputText id="text" label="#{i18n['email']}"
- validator="#{inputTextBackingBean.emailAddressValidator}"
- validatorMessage="#{i18n['validator-message']}"
- value="#{facesContextHelperUtilBacking.email}" required="true" />
- <h:message for="text" />
- <h:commandButton actionListener="#{facesContextHelperUtilBacking.closeDialog}"
- value="#{i18n['submit']}">
- <f:ajax execute="@form" render="@form" />
- </h:commandButton>
- </h:form>
- </h:panelGroup>
- </h:panelGroup>
- </h:panelGroup>
- </h:panelGroup>
- <h:outputScript target="body">
- $('.modal').modal({ backdrop: 'static', keyboard : false, show : false });
- </h:outputScript>
- </ui:composition>
- @ManagedBean
- @ViewScoped
- public class FacesContextHelperUtilBacking implements Serializable {
- // serialVersionUID
- private static final long serialVersionUID = 5123157520254209271L;
- private String email;
- public void closeDialog() {
- if (email != null) {
- com.liferay.faces.util.context.FacesContextHelperUtil.addScript("$('.modal').modal('hide');");
- }
- }
- public String getEmail() {
- return email;
- }
- public void openDialog() {
- com.liferay.faces.util.context.FacesContextHelperUtil.addScript("$('.modal').modal('show');");
- }
- public void setEmail(String email) {
- this.email = email;
- }
- }
Liferay Faces Bridge Implementation 5.0.0 + Showcase Common 3.1.1 + Liferay Faces Util 3.4.1 + Mojarra 2.2.20