Struts 2 If, ElseIf and Else tags are used to perform basic condition checking.

The ‘If‘ tag could be used by itself

<s:if test="%{#variable=='String 1'}">
	This is String 1
</s:if>

or with ‘Else If‘ tag

<s:if test="%{#variable=='String 1'}">
	This is String 1
</s:if>
<s:elseif test="%{#variable=='String 2'}">
    This is String 2
</s:elseif>

and/or single/multiple ‘Else‘ tag.

<s:if test="%{#variable=='String 1'}">
	This is String 1
</s:if>
<s:elseif test="%{#variable=='String 2'}">
    This is String 2
</s:elseif>
<s:else>
    Other Strings
</s:else>

All the above statements are correct. Let’s see an example to show the use of Struts 2 ‘If, ElseIf and Else‘ tag.

1. Action

An Action class with a String property , which contains a “Struts 2” value.

IfTagAction

package com.mkyong.common.action;
 
import com.opensymphony.xwork2.ActionSupport;
 
public class IfTagAction extends ActionSupport{
 
	private String framework = "Struts 2";
 
	public String getFramework() {
		return framework;
	}
 
	public void setFramework(String framework) {
		this.framework = framework;
	}
 
	public String execute() {
		return SUCCESS;
	}
}

2. If, ElseIf and Else tag example

A JSP page to show the use of If, ElseIf and Else tag to perform the condition checking on the “framework” variable.

if.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
 <html>
<head>
</head>
 
<body>
<h1>Struts 2 If, Else, ElseIf tag example</h1>
 
<s:set name="webFramework" value="framework"/>
 
<s:if test="%{#webFramework=='Struts 2'}">
	This is Struts 2
</s:if>
<s:elseif test="%{#webFramework=='Struts 1'}">
    This is Struts 1
</s:elseif>
<s:else>
    Other framework
</s:else>
 
</body>
</html>

3. struts.xml

Link it ~

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
 
 	<constant name="struts.devMode" value="true" />
 
	<package name="default" namespace="/" extends="struts-default">
 
		<action name="ifTagAction" 
			class="com.mkyong.common.action.IfTagAction" >
			<result name="success">pages/if.jsp</result>
		</action>
 
	</package>
 
</struts>

4. Demo

http://localhost:8080/Struts2Example/ifTagAction.action

Struts 2 If, ElseIf, Else Tag

Reference

  1. Struts 2 If tag documentation
  2. Struts 2 ElseIf tag documentation
  3. Struts 2 Else documentation
Note : You can find more similar articles at - Struts 2.x Tutorials