PrimeFaces BlockUI + Client Side API Example

BlockUI Primefaces component provides you the ability control the component from a pre defined Client Side API that could be invoked through using of JavaScript code. For enabling the call of client side API, you have to define the WidgetVar for the BlockUI component.

1. The View


<html xmlns=""
		<script name="jquery/jquery.js" library="primefaces"></script>
			function block(){

			function unBlock(){
		<h:form prependId="false">
			<h1>JavaBeat Primefaces Example</h1>
			<h2>Primefaces - BlockUI + Client Side API</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>
			<p:blockUI widgetVar="blockVar" trigger="trigger" block="block">
				<p:graphicImage value="#{resource['images:ajax-loader.gif']}"></p:graphicImage>
			<h:panelGrid columns="2">
				<f:facet name="header">
					<h:outputText value="JavaScript Client Side API"/>
				<h:outputText value="Block: "/>
				<h:commandLink value="Block" onclick="block();return false;"/>
				<h:outputText value="UnBlock: "/>
				<h:commandLink value="UnBlock" onclick="unBlock();return false;"/>

2. Managed Bean

package net.javabeat.primefaces;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.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
		return "";

3. Primefaces BlockUI + Client Side API Demo

The below snapshots show you the different API that could be invoked for achieving the different behaviors of BlockUI functions.

Primefaces BlockUI Example 1

  • By clicking on the Block link, the block component will do its blocking behavior.

Primefaces BlockUI Example 2

  • By clicking the UnBlock link, the interactive jsf blocked area will be unblocked.

Leave a Reply

Your email address will not be published. Required fields are marked *

Pin It on Pinterest

Share This

Share this post with your friends!