webuijsf
Tag wizard


Use the webuijsf:wizard tag to create a popup wizard. A popup wizard is a secondary window that displays a series of steps in a user task. The wizard leads the user through the task one step at a time, requesting a series of responses and finally executing the task based on those responses.

The webuijsf:wizard tag is the container for the webuijsf:wizardStep tags, which define the content of each step in the task. Simple wizards can be implemented with the webuijsf:wizard and webuijsf:wizardStep tags. See webuijsf:wizardStep for details on using the webuijsf:wizardStep tag.

More complex wizards can be implemented to include steps that branch, in which the user's response determines which of two or more paths to take in completing a task. Use the webuijsf:wizardSubstepBranch, webuijsf:wizardBranch, and webuijsf:wizardBranchSteps for building more complex wizards with steps that branch.

The wizard component implements Sun's user interface (UI) guidelines for web application wizards. The guidelines describe in detail how a wizard should appear and behave. The wizard component's default behavior implements the UI guidelines.

Note: You should launch the wizard from a page in your application. For example, you could include a webuijsf:button tag whose onClick attribute is set to a JavaScript function that opens a popup to display the wizard JSP page. See the Examples section for more information.

HTML Elements and Layout

The wizard component is rendered with <div> and <table> XHTML elements, and within those elements are any number of XHTML elements that vary according to the components specified in the individual steps of the wizard.

The default wizard contains the following areas:

The following diagram shows the relative location of the wizard areas. The areas that are controlled with the webuijsf:wizard tag are highlighted in light blue. The grayed out areas are controlled with webuijsf:wizardStep tags, but are shown here for context.

Wizard Title (title attribute)
Steps Pane
Steps Tab






Help Tab
Step Content Pane
Step Title
Step Detail
Step Input Controls


Navigation Controls                    

Using the webuijsf:wizard Tag

The webuijsf:wizard tag and its child tags are intended to be used in a JSP page whose sole purpose is to define a popup wizard. The JSP page should not include a masthead or breadcrumbs, for example, because the wizard will not render as desired when these components are used in the page.

For the simplest wizards, which gather data to be used by the web application, you can simply define wizardSteps that contain their own child component tags. The child components' attributes can be bound to backing beans that store data entered by the user. When the wizard closes, that data is available to the application.

Less simple wizards might require some action to be taken when the wizard closes. For example, you might want the wizard to send a request to the page that launched the wizard, to redirect the browser or refresh the page. The onPopupDismiss attribute can be used to perform this function. The value of onPopupDismiss must be a JavaScript statement that is executed during the response to a request that closes the window. The close request might occur as a result of the user clicking the Close, Cancel, Finish buttons, or some controlled application event that causes the the wizard to complete.

Note: The JavaScript attributes (such as onCancel, onClose) must not be used to close the wizard popup window. Doing so will prevent the application from receiving the request that informs the application and the wizard framework that it should continue or exit (close, cancel) gracefully. The onPopupDismiss attribute is available for performing application-specific behavior on the client when the wizard is complete. The JavaScript attributes are useful for processing of data from actions the user has taken on the current step, such as client side validation.

Wizard Buttons

The wizard component handles the creation of the appropriate navigation buttons in each wizard step. For example, the first step is rendered with a disabled Previous button, a highlighted Next button, and an enabled Cancel button that is not highlighted. You must create an event listener to respond to events generated when the user clicks the buttons. You can also use tag attributes to specify JavaScript that is executed when a particular button is clicked.

Event Listeners

Events are executed as the user leaves the step. The webuijsf:wizard tag's eventListener attribute is used to specify the wizard event listener. The eventListener attribute must be bound to a value binding that evaluates to an object instance that implements the com.sun.webui.jsf.event.WizardEventListener interface. Note that the webuijsf:wizardStep tag also provides an eventListener attribute. You can choose to use the eventListener attribute on either or both the wizard or wizardStep component. The wizardStep event listener implementation might be more efficient. If you use event listeners on both the wizard and wizardStep components, the wizardStep's event listener is called first, and then the wizard's event listener is called. See the Examples section for an example of a wizard event listener class.

Client-side JavaScript Functions

When the component is rendered, a DOM object corresponding to the component is created. To manipulate the component on the client side, you may invoke functions on the DOM object. With reference to the DOM id, to close the wizard popup window, invoke document.getElementById(id).closePopup().

The wizard component supports the following JavaScript functions, which can be used with the onPopupDismiss attribute.

Function Purpose
closeAndForward(openerForm,submitTo,clearState) Close the wizard popup window and forward a request to the specified page. This function accepts three arguments:
  • openerForm is a form that must exist in the window that opened the wizard popup window
  • submitTo is a URI that will replace the action property of the openerForm form.
  • clearState is a flag that should be set to true if the application is configured for client side state saving, and submitTo is a different page than the page that contains the openerForm form.
closePopup() Close the wizard popup window. This function should only be used with popup wizards.
wizOnLoad() This method must be assigned to the onload handler of the onLoad attribute of the webuijsf:body tag if the wizard is to operate properly on IE.

For example, to alter the behavior when the wizard popup closes, specify the following JavaScript as the value of the onPopupDismiss attribute:

onPopupDismiss="document.getElementById('form1:wizard1').closeAndForward('openerForm',
 '/app/faces/wizardResults.jsp',true);"

 

This JavaScript invokes the JavaScript wizard object's closeAndForward() method with a form DOM id from the window that opened the popup, and submits that form with the action set to the specified JSP page.

JavaScript Function for Correct Wizard Rendering on IE 6

If your web application will be used in Internet Explorer 6, you must specify the document.getElementById('form1:wizard1').wizOnLoad() function in the webuijsf:body tag in your JSP page. This function enables the wizard to be rendered correctly. For example:

<webuijsf:body
       onLoad="document.getElementById('form1:wizard1').wizOnLoad()">

The argument to the document.getElementById('form1:wizard1').wizOnLoad() function is the DOM id that results from the ids of the form and wizard components.

Examples

The example shown here is for creating a simple wizard. This example includes:

The webuijsf:wizardBranch documentation shows an example of a more complex wizard.

Example 1: Simple Popup Wizard

This example shows a complete JSP page that uses a simple wizard. This wizard has no overview page or results page, and contains no branching or substeps. Notice that the webuijsf:body tag includes the attribute onload="document.getElementById('form1:wizard1').wizOnLoad()", which is needed for the wizard to display correctly in Internet Explorer.

<jsp:root version="1.2"
           xmlns:jsp="http://java.sun.com/JSP/Page"
           xmlns:f="http://java.sun.com/jsf/core"
           xmlns:h="http://java.sun.com/jsf/html"
           xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
 <jsp:directive.page contentType="text/html;charset=UTF-8"
                     pageEncoding="UTF-8"/>
 <f:view>
     <webuijsf:page>
 	<webuijsf:html>
 	    <webuijsf:head title="Wizard Example" />
 	    <webuijsf:body
                  onLoad="document.getElementById('form1:wizard1').wizOnLoad()">		
             <webuijsf:form id="form1">
 <!-- Simplest Wizard 
     Order of steps is order of evaluation of children.
     No Overview page.
     No Results page.
     Demonstrates how a wizard step's content is defined.
     Value bindings are supported. -->
     <webuijsf:wizard id="wizard1"
 	title="Create Account">
 	<webuijsf:wizardStep id="step1"
 	    summary="Choose Account Type"
 	    title="New Account Setup"
 	    detail="Select the type of account you would like to set up:"
 	    help="In order to receive messages, you first need to set up a Mail or Newsgroup account. 
                   This Wizard will collect the information necessary to set up a Mail or Newsgroup 
                   account. If you do not know the information requested, please contact your System 
                   Administrator or Internet Service Provider.">
 	    <webuijsf:markup tag="p" extraAttributes="style='margin-left:2%'">
 	    <webuijsf:radioButton id="email" name="account"
 		label="Email account"
 		selectedValue="EmailAccount"
 		selected="#{emailAccount.acctType}"/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:radioButton id="movemail" name="account"
 		label="Movemail"
 		selectedValue="MoveMail"
 		selected="#{emailAccount.acctType}"/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:radioButton id="rss" name="account"
 		label="RSS News and Blogs"
 		selectedValue="RSSNewsAndBlogs"
 		selected="#{emailAccount.acctType}"/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:radioButton id="news" name="account"
 		label="Newsgroup account"
 		selectedValue="Newsgroup"
 		selected="#{emailAccount.acctType}"/>
 	    </webuijsf:markup>
 	</webuijsf:wizardStep>
 	<webuijsf:wizardStep id="step2"
 	    summary="Specify Email Identity"
 	    title="Identity"
 	    detail="Enter outgoing email name and email address."
 	    help="Each account has an identity, which is the information that identifies 
                   you to others when they receive your messages. Enter the name you would 
                   like to appear in the From field of your outgoing messages, for example, 
                   John Smith. Then enter your email address. This is the address others 
                   will use to send email to you, for example john.smith@sun.com.">
 	    <webuijsf:markup tag="p" extraAttributes="style='margin-left:2%'">
 	    <webuijsf:label id="namelbl" text="Your Name"/>
 	    <webuijsf:textField id="namefld"
 		required="true"
 		validator='#{emailAccount.validate}'
 		text='#{emailAccount.userName}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="eaddrlbl" text="Email Address"/>
 	    <webuijsf:textField id="eaddrfld"
 		required="true"
 		validator='#{emailAccount.validate}'
 		text='#{emailAccount.emailAddr}'/>
 	    </webuijsf:markup>
 	</webuijsf:wizardStep>
 	<webuijsf:wizardStep id="step3"
 	    summary="Specify Email Server"
 	    title="Email Server Information"
 	    detail="Select the type of incoming server and server name."
 	    help="Select the type of the incoming server you are using. 
                   Then enter the name of your incoming server, for example, mail.sun.com.">
 	    <webuijsf:markup tag="p" extraAttributes="style='margin-left:2%'">
 	    <webuijsf:radioButton id="pop" name="mailservertype"
 		label="POP"
 		selectedValue="Pop"
 		selected="#{emailAccount.serverType}"/>
 	    <webuijsf:markup tag="br" singleton="true"/>
             <webuijsf:radioButton id="imap" name="mailservertype"
 		label="IMAP"
 		selectedValue="Imap"
 		selected="#{emailAccount.serverType}"/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="inserverlbl" text="Incoming Server"/>
 	    <webuijsf:textField id="inserverfld"
 		required="true"
 		validator='#{emailAccount.validate}'
 		text='#{emailAccount.inServer}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="outserverlbl" text="Outgoing Server"/>
 	    <webuijsf:textField id="outserverfld"
 		required="true"
 		validator='#{emailAccount.validate}'
 		text='#{emailAccount.outServer}'/>
 	    </webuijsf:markup>
 	</webuijsf:wizardStep>
 	<webuijsf:wizardStep id="step4"
 	    summary="Specify User Name"
 	    title="User Names"
 	    detail="Enter email provider assigned user name."
 	    help="Enter your existing outgoing and incoming (SMTP) username, 
              for example jsmith. You can modify outgoing server settings by choosing 
               Account Settings from the Tools menu.">
 	    <webuijsf:markup tag="p" extraAttributes="style='margin-left:2%'">
 	    <webuijsf:label id="innamelbl" text="Incoming User Name"/>
 	    <webuijsf:textField id="innamefld"
 		required="true"
 		validator='#{emailAccount.validate}'
 		text='#{emailAccount.inName}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="outnamelbl" text="Outgoing User Name"/>
             <webuijsf:textField id="outnamefld"
 		required="true"
 		validator='#{emailAccount.validate}'
 		text='#{emailAccount.outName}'/>
 	    </webuijsf:markup>
 	</webuijsf:wizardStep>
 	<webuijsf:wizardStep id="step5"
 	    summary="Specify Account Name"
 	    title="Account Name"
 	    detail="The name of the account."
 	    help="Enter the name by which you would like to refer to this account, 
                for example Work Account, Home Account, or News Account, etc.">
 	    <webuijsf:markup tag="p" extraAttributes="style='margin-left:2%'">
 	    <webuijsf:label id="acctnamelbl" text="Account Name"/>
 	    <webuijsf:textField id="acctnamefld"
 		required="true"
 		validator='#{emailAccount.validate}'
 		text='#{emailAccount.acctName}'/>
 	    </webuijsf:markup>
 	</webuijsf:wizardStep>
 	<webuijsf:wizardStep id="step6"
 	    summary="Verify Information"
 	    title="Verify Account Information"
 	    detail="Verify the information below is correct."
 	    help="Click finish to create the account and previous if corrections are required."
             finish="true">
 	    <webuijsf:markup tag="p" extraAttributes="style='margin-left:2%'">
 	    <webuijsf:label id="v_accttypelbl" text="Accout Type:"/>
 	    <webuijsf:staticText id="v_accttypetxt"
 		text='#{emailAccount.acctType}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_usernamelbl" text="User Name:"/>
 	    <webuijsf:staticText id="v_usernametxt"
 		text='#{emailAccount.userName}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_acctnamelbl" text="Account Name:"/>
 	    <webuijsf:staticText id="v_acctnametxt"
 		text='#{emailAccount.acctName}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_eaddrlbl" text="Email Address:"/>
 	    <webuijsf:staticText id="v_eaddrtxt"
 		text='#{emailAccount.emailAddr}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_innamelbl" text="Incoming User Name:"/>
 	    <webuijsf:staticText id="v_innametxt"
 		text='#{emailAccount.inName}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_insrvnamelbl" text="Incoming Server Name:"/>
 	    <webuijsf:staticText id="v_insrvnametxt"
 		text='#{emailAccount.inServer}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_insrvtypelbl" text="Incoming Server Type:"/>
 	    <webuijsf:staticText id="v_insrvtypetxt"
 		text='#{emailAccount.serverType}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_outnamelbl" text="Outgoing User Name:"/>
 	    <webuijsf:staticText id="v_outnametxt"
 		text='#{emailAccount.outName}'/>
 	    <webuijsf:markup tag="br" singleton="true"/>
 	    <webuijsf:label id="v_outsrvnamelbl" text="Outgoing Server Name:"/>
 	    <webuijsf:staticText id="v_outsrvnametxt"
 		text='#{emailAccount.outServer}'/>
 	    </webuijsf:markup>
 	</webuijsf:wizardStep>
     </webuijsf:wizard>
 		</webuijsf:form>
 	    </webuijsf:body>
         </webuijsf:html>
     </webuijsf:page>
 </f:view>
 </jsp:root>
 

EmailAccount.java Backing Bean

The emailAccount backing bean is used by the example JSP shown in the previous section. The bean defines getters and setters for the component properties and defines the EmailAccountWizardEventListener, which implements the WizardEventListener interface.

package wizard;
 import javax.faces.application.FacesMessage;
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIComponent;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 import com.sun.webui.jsf.event.WizardEvent;
 import com.sun.webui.jsf.event.WizardEventListener;
 import com.sun.webui.jsf.component.Wizard;
 import com.sun.webui.jsf.component.WizardStep;
 public class EmailAccountBean {
     private String acctType;
     private String userName;
     private String acctName;
     private String emailAddr;
     private String inName;
     private String inServer;
     private String serverType;
     private String outName;
     private String outServer;
     private boolean globalInbox = true;
     private Validator wizardValidator;
     public EmailAccountBean() {
 	this.acctType = "EmailAccount";
 	this.serverType= "Pop";
 	this.wizardValidator = new WizardValidator();
     }
     public void validate(FacesContext context,
 	    UIComponent component, Object value) 
 	    throws ValidatorException {
 	wizardValidator.validate(context, component, value);
     }
     public String getAcctType() {
 	return acctType;
     }
     public String getUserName() {
 	return userName;
     }
     public String getAcctName() {
 	return acctName;
     }
     public String getEmailAddr() {
 	return emailAddr;
     }
     public String getInName() {
 	return inName;
     }
     public String getInServer() {
 	return inServer;
     }
     public String getServerType() {
 	if (acctType.equals("MoveMail")) {
 	    return "MoveMail";
 	} else {
 	    return serverType;
 	}
     }
     public String getOutName() {
 	if (acctType.equals("MoveMail") || acctType.equals("Newsgroup")) {
 	    return emailAddr.substring(0, emailAddr.indexOf("@"));
 	} else {
 	    return outName;
 	}
     }
     public String getOutServer() {
 	return outServer;
     }
     // One of 
     // "EmailAccount"
     // "MoveMail"
     // "RSSNewsAndBlogs"
     // "Newsgroup"
     //
     public void setAcctType(String acctType) {
 	if (acctType != null && acctType.length() != 0) {
 	    this.acctType = acctType;
 	}
     }
     public void setUserName(String userName) {
 	this.userName = userName;
     }
     public void setAcctName(String acctName) {
 	this.acctName = acctName;
     }
     public void setEmailAddr(String emailAddr) {
 	this.emailAddr = emailAddr;
     }
     public void setInName(String inName) {
 	this.inName = inName;
     }
     public void setInServer(String inServer) {
 	this.inServer = inServer;
     }
     public void setServerType(String serverType) {
 	if (serverType != null && serverType.length() != 0) {
 	    this.serverType = serverType;
 	}
     }
     public void setOutName(String outName) {
 	this.outName = outName;
     }
     public void setOutServer(String outServer) {
 	this.outServer = outServer;
     }
     public void setGlobalInbox(boolean globalInbox) {
 	this.globalInbox = globalInbox;
     }
     public boolean getglobalInbox() {
 	return globalInbox;
     }
     public WizardEventListener getWizardEventListener() {
 	return new EmailAccountWizardEventListener();
     }
     public WizardEventListener getWizardStepEventListener() {
 	return new EmailAccountWizardEventListener();
     }
 }
 class EmailAccountWizardEventListener implements WizardEventListener {
 	// If this method returns false, the event is not forwarded to 
 	// the wizard model and the wizard will remain on the same
 	// step that triggered this event.
 	//
 	// The step event listener is called first then the 
 	// wizard's event listener. If the wizard's event listener
 	// returns false, even if the step listener returned true,
 	// the wizard will remain on the same step that triggered
 	// this event.
 	//
 	// If an exception is thrown, the wizard model is forwarded
 	// the WizardEvent.CANCEL event, and the wizard behaves as
 	// if the user clicked the cancel button.
 	//
     public boolean handleEvent(WizardEvent event) {
 	WizardStep step = event.getStep();
 	Wizard wizard = event.getWizard();
 	switch (event.getNavigationEvent()) {
 	// The START and COMPLETE events are special events that are only 
 	// broadcast to the wizard's event listener.
 	// 
 	// The START event is broadcast only once when the wizard is first
 	// rendered. This event will only be broadcast again, if the
 	// same Wizard component instance is rendered again after having
 	// broadcast the COMPLETE event.
 	//
 	case WizardEvent.START:
 	break;
 	// The COMPLETE event is broadcast only once after the wizard's
 	// last response is written, and the wizard popup has been 
 	// closed. If this Wizard component instance is rendered again, the 
 	// START event will be broadcast.
 	//
 	case Wizardevent.COMPLETE:
 	    // These statements might be necessary if the application
 	    // is configured with server side state saving.
 	    // 
 	    // In some situations a value entered by a user may "stick"
 	    // across different wizard sessions. It can happen if a
 	    // user enters data into an input field and then cancels
 	    // the wizard session or something occurs that causes
 	    // the wizard to skip the validation phase and then the
 	    // wizard is cancelled. The next time the wizard is rendered
 	    // it may display the previous value. 
 	    //
 	    // One way to remedy this situation is to perform the following
 	    // during the COMPLETE event.
 	    //
 	    // This works because new instances of the wizard's step
 	    // components are recreated. The step children are not 
 	    // typically recreated when an application is configured
 	    // with server side state saving.
 	    //
 	    Wizard wizard = (Wizard)event.getSource();
 	    wizard.getChildren().clear();
 	break;
 	case WizardEvent.NEXT:
 	break;
 	case WizardEvent.PREVIOUS:
 	break;
 	case WizardEvent.CANCEL:
 	break;
 	case WizardEvent.FINISH:
 	break;
 	case WizardEvent.CLOSE:
 	break;
 	case WizardEvent.HELPTAB:
 	break;
 	case WizardEvent.STEPSTAB:
 	break;
 	case WizardEvent.GOTOSTEP:
 	    String gotoStepId = event.getGotoStepId();
 	break;
 	case WizardEvent.NOEVENT:
 	break;
 	}
 	return true;
     }
     public void setTransient(boolean transientFlag) {
     }
     public Object saveState(FacesContext context) {
 	return null;
     }
     public void restoreState(FacesContext context, Object state) {
     }
     public boolean isTransient() {
 	return false;
     }
 }
 

JSP for Launching the Wizard

This example shows how you might launch a wizard, using JavaScript enabled buttons.

<jsp:root version="1.2"
           xmlns:jsp="http://java.sun.com/JSP/Page"
           xmlns:f="http://java.sun.com/jsf/core"
           xmlns:h="http://java.sun.com/jsf/html"
           xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
 <jsp:directive.page contentType="text/html;charset=UTF-8"
                     pageEncoding="UTF-8"/>
 <f:view>
     <webuijsf:page>
 	<webuijsf:html>
 	    <webuijsf:head title="Wizard Example" />
 	    <webuijsf:body>
 	    <webuijsf:form id="form1">
 		<webuijsf:breadcrumbs id="breadcrumbs">
 		    <webuijsf:hyperlink url="../faces/index.jsp"
 			text="TestApp Index"/>
 		    <webuijsf:hyperlink url="../faces/wizard/index.jsp"
 		    text="Wizard"/>
 		</webuijsf:breadcrumbs>
 		<f:verbatim><![CDATA[
 		<script type="text/javascript">
 	    function golden_mean_top(height) {
 		return ((screen.height-(screen.height/1.618))-(height/2));
 	    }
 	    function golden_mean_left(width) {
 		return ((screen.width-width)/2);
 	    }
 	    function wizard_popup(url, name, height, width) {
 		var top=golden_mean_top(height);
 		var left=golden_mean_left(width);
 		var newurl = url + "?&amp;WIZARD_NAME=" + name;
 		var args= "height=" + height + ",width=" + width +
 			    ",top=" + top + ",left=" + left;
 		window.open(newurl, name, args);
 		return false;
 	    }
 	    function wizard_launch(url) {
 		wizard_popup("../faces/wizard/" + url,
 			"Wizard", 400, 600);
 	    }
 		</script>]]>
 		</f:verbatim>
 	<webuijsf:panelGroup style="margin-left:10px"
 	    id="linkGroup" separator="&lt;br/&gt;&lt;br/&gt;">
 	    <webuijsf:button primary="true"
 	id="wizard_popup3" text="Create Email Account (Simple)"
 	    onClick="wizard_launch('emailaccount.jsp'); return false;"/>
 	    <webuijsf:button primary="true"  id="wizard_popup1"
 		text="Launch Submitting Steps Wizard"
                 onClick="wizard_launch('wizard-submit-component-steps.jsp'); return false;"/>
 	</webuijsf:panelGroup>
 	    </webuijsf:form>
 	    </webuijsf:body>
         </webuijsf:html>
     </webuijsf:page>
 </f:view>
 </jsp:root>
 


Tag Information
Tag Classcom.sun.webui.jsf.component.WizardTag
TagExtraInfo ClassNone
Body ContentJSP
Display NameNone

Attributes
NameRequiredRequest-timeTypeDescription
bindingfalsefalsejava.lang.String A ValueExpression that resolves to the UIComponent that corresponds to this tag. This binding allows the Java bean that contains the UIComponent to manipulate the UIComponent, its properties, and its children.
onCancelfalsefalsejava.lang.String Scripting code executed when the Cancel button is clicked.
titlefalsefalsejava.lang.String The text to be displayed as the title for the wizard. The title is displayed in the top line, and extends the full width of the wizard window. @see #getTitle()
stepsfalsefalsejava.lang.String Use the steps attribute to specify the wizard steps programmatically, instead of using the webuijsf:wizardStep tags in the JSP. The steps attribute must be specified as an ArrayList or List of WizardStep, WizardBranch, WizardBranchSteps, or WizardSubstepBranch components.
onFinishfalsefalsejava.lang.String Scripting code executed when the Finish button is clicked.
onNextfalsefalsejava.lang.String Scripting code executed when the Next button is clicked.
onStepLinkfalsefalsejava.lang.String Scripting code executed when a Step link is clicked.
onPopupDismissfalsefalsejava.lang.String Scripting code that is invoked when the wizard popup is dismissed. If the wizard is not in a popup, the onPopupDismiss attribute is ignored. The scripting code must specify what happens in the browser when the window is closed. For example, the form of the parent window that opened the popup should be submitted, and the browser might be redirected, or the display refreshed to reflect the task completed by the user. These activities provide feedback to the user.
renderedfalsefalsejava.lang.String Use the rendered attribute to indicate whether the HTML code for the component should be included in the rendered HTML page. If set to false, the rendered HTML page does not include the HTML for the component. If the component is not rendered, it is also not processed on any subsequent form submission.
idfalsetruejava.lang.StringNo Description
onClosefalsefalsejava.lang.String Scripting code executed when the Close button is clicked.
onHelpTabfalsefalsejava.lang.String Scripting code executed when the Help tab is clicked.
styleClassfalsefalsejava.lang.String

CSS style class(es) to be applied to the outermost HTML element when this component is rendered.

eventListenerfalsefalsejava.lang.String The eventListener attribute is used to specify an object to handle an event that is triggered when a user activates a component in the wizard. The eventListener attribute value must be a JavaServer Faces EL expression that resolves to an instance of com.sun.webui.jsf.event.WizardEventListener.

The return value of the wizard component's call to the event listener's handleEvent() method controls the processing of the current step that is being performed, and determines whether the next step or a previous step, etc. can be navigated to.

See the Event Listeners section also.
onStepsTabfalsefalsejava.lang.String Scripting code executed when the Steps tab is clicked.
visiblefalsefalsejava.lang.String

Use the visible attribute to indicate whether the component should be viewable by the user in the rendered HTML page. If set to false, the HTML code for the component is present in the page, but the component is hidden with style attributes. By default, visible is set to true, so HTML for the component HTML is included and visible to the user. If the component is not visible, it can still be processed on subsequent form submissions because the HTML is present.

stylefalsefalsejava.lang.String

CSS style(s) to be applied to the outermost HTML element when this component is rendered.

modelfalsefalsejava.lang.String The model property is a value binding that resolves to an instance of WizardModel. This instance is an alternative to the default WizardModelBase instance that controls the flow of steps in the wizard.
onPreviousfalsefalsejava.lang.String Scripting code executed when the Previous button is clicked.

Variables
No Variables Defined.


Output Generated by Tag Library Documentation Generator. Java, JSP, and JavaServer Pages are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries. Copyright 2002-4 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054, U.S.A. All Rights Reserved.