Struts LOGIC Equal and notEqual Tag ( < logic:equal > and < logic:notEqual >)
Struts LOGIC Tag Library
Struts LOGIC tag library provides tags that are useful in managing conditional generation of output text, looping over object collections for repetitive generation of output text, and application flow management.
Syntax to use Struts LOGIC tag library
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %>
< logic:equal > and < logic:notEqual>
< logic:equal > -This tag compares between the selector attributes and the specified constant variable.If the variable and specified value are equal then the nested content of this tag is evaluated.
< logic:notEqual > – This tag compares between the selector attributes and the specified constant variable.If the variable and the spcified value are not equal then the nested content of this tag is evaluated.
Example Code for < logic:equal > and < logic:notEqual>
1.Create of Modify the index.jsp page whic is the welcome page for the users.It displays a Textbox nested inside the form where the number is to be entered.
index.jsp
< %@page contentType="text/html" pageEncoding="UTF-8"%> < %@taglib uri="http://struts.apache.org/tags-html" prefix="html" %> < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> < html> < head> < meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> < title> Struts Logic Equal Tag< /title> < /head> < body bgcolor="DDDDDD"> < h1> Struts logic:equal and logic:notEqual tags example< /h1> < html:form action="/logicequal"> < h3> Enter any number:< /h3> < html:text property="number"/> < html:submit/>< html:cancel/> <h4>If value is equal to 100 the nested content of <logic:equal> tag will be executed else <logic:notEqual> tag is executed </h4> < /html:form> < /body> < /html>
2.Create an Jsp page and name it as LogicEqualTag.jsp.It is the output page for user which contains the logic tags to compare the number and display whether it is equal to a given specified value or not.
LogicEqualTag.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib prefix="html" uri="http://jakarta.apache.org/struts/tags-html" %> <%@taglib prefix="logic" uri="http://jakarta.apache.org/struts/tags-logic" %> < html> < head> < meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> < title> Struts Equal Tag< /title> < /head> < body bgcolor="DDDDDD"> < h1>Struts logic:equal and logic:notEqual tags example< /h1> < logic:equal name="LogicEqualForm" property="number" value="100"> < h4> Using < logic:equal> tag value is equal to 100< /h4> < /logic:equal> < logic:notEqual name="LogicEqualForm" property="number" value="100"> < h4> Using < logic:notEqual> tag value is not equal to 100< /h4> < /logic:notEqual> < /body> < /html>
3.Create a Form bean.Form bean is used to hold the properties of the submitted form which is a sub class of ActionForm.It contains only one property of type int to hold the integer number to compare.
LogicEqualForm.java
package com.myapp.struts; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; public class LogicEqualForm extends org.apache.struts.action.ActionForm { private int number; public int getNumber() { return number; } public void setNumber(int i) { number = i; } public LogicEqualForm() { super(); } }
4.Simple Action class LogicEqualAction.java which is a sub class of Action class used to process the user’s request.
LogicEqualAction.java
package com.myapp.struts; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForward; public class LogicEqualAction extends org.apache.struts.action.Action { private final static String SUCCESS = "success"; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return mapping.findForward(SUCCESS); } }
5.Create or modify struts config file struts-config.xml with action mappings.Struts-config file contains the information about the configuration of the struts framework to the application.It contains the action mappings which helps to select Action,ActionForm and other information for specific user’s request’s.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> < struts-config> < form-beans> < form-bean name="LogicEqualForm" type="com.myapp.struts.LogicEqualForm"/> </form-beans> < action-mappings> < action name="LogicEqualForm" path="/logicequal" scope="request" type="com.myapp.struts.LogicEqualAction" validate="false"> < forward name="success" path="/LogicEqualTag.jsp"/> </action> </action-mappings> </struts-config>
6.Building and running the application
Output
Access page:http://localhost:8080/logicequal/
Struts Framework Articles
also read: