PrimeFaces BlockUI Example

Primefaces BlockUI component is used to block interactivity of JSF components with optional Ajax integration. BlockUI requires trigger and block attributes to be defined. With the special ajax integration, ajax requests whose source are the trigger components will block the UI onstart and unblock oncomplete. When you submit the request to the server, the page interaction will be blocked and can display the progress of the server response. This is very useful in the modern web applications.

1. BlockUI Tag Info

BlockUI General Info

2. BlockUI Attributes

BlockUI Attributes

3. The View

index.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
	<h:head>
		<script name="jquery/jquery.js" library="primefaces"></script>

	</h:head>
	<f:view>
		<h:form prependId="false">
			<h1>JavaBeat Primefaces Example</h1>
			<h2>Primefaces - BlockUI</h2>
			<p:panel id="block" columns="1" header="Login Panel" style="width:272px;">
				<h:outputText  value="Enter Username:"/>
				<p:inputText value="#{blockUI.username}"></p:inputText>
				<h:outputText  value="Enter Password:"/>
				<p:inputText value="#{blockUI.password}"></p:inputText>
				<f:facet name="footer">
					<p:commandButton id="trigger"
						value="Login" action="#{blockUI.login}"></p:commandButton>
				</f:facet>
			</p:panel>
			<p:blockUI trigger="trigger" block="block">
				<p:graphicImage value="#{resource['images:ajax-loader.gif']}"></p:graphicImage>
			</p:blockUI>
		</h:form>
	</f:view>
</html>

4. Managed Bean

BlockUI.java

package net.javabeat.primefaces;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class BlockUI {
	private String username;
	private String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String login() throws Exception{
		// Assumed business could too long
		Thread.sleep(5000);
		return "";
	}
}

5. PrimeFaces BlockUI Demo

The below snapshot shows you the impact of using BlockUI for blocking an interactive user interface.

BlockUI Example

Comments

comments

About Amr Mohammed

Speak Your Mind

*