Struts LOGIC match and notMatch Tag ( < logic:match > and < logic:notMatch >)

SHARE & COMMENT :

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:match > and < logic:notMatch>

< logic:match >-This tag matches the selector attributes(String) by specified constant variable.If the value is a substring (appropriately limited by the location attribute), the nested body content of this tag is evaluated
< logic:notMatch >- This tag macthes between the selector attributes(String) by specified constant variable. If the value is not a substring (appropriately limited by the location attribute), the nested body content of this tag is evaluated.

Example Code for < logic:match > and < logic:notMatch>

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 text 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 Match Tag Example< /title>
    < /head>
    < body bgcolor="DDDDDD">

        < html:form action="/logicmatch">
        < h3> Enter Some Text:< /h3>
        < html:text name="LogicMatchForm" property="text"/>
        < html:submit/>

        < /html:form>
    < /body>
< /html>

2.Create an Jsp page and name it as LogicMatchTag.jsp.It is the output page for user which contains the logic tags to Match the text and display whether the specified constant value is a substring or not.

LogicMatchTag.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 Logic Match Tag< /title>
    < /head>
    < body bgcolor="DDDDDD">
        < h1&gt;Struts logic:match and logic:notMatch tag< /h1>
        < logic:match name="LogicMatchForm" property="text" value="java>
< h4> Using &lt;logic:match&gt; tag the given text contains "java"< /h4>

            < /logic:match>
            <logic:notMatch name="LogicMatchForm" property="text" value="struts">
< h4>  Using &lt;logic:notMatch&gt; tag the given text does not contains "struts"< /h4>

            < /logic:notMatch>
    < /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 String to hold the text.

LogicMatchForm.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 LogicMatchForm extends org.apache.struts.action.ActionForm {

    private String text;

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public LogicMatchForm() {
        super();

    }

}

4.Simple Action class LogicMatchAction.java which is a sub class of Action class used to process the user’s request.
LogicMatchAction.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 LogicMatchAction 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="LogicMatchForm" type="com.myapp.struts.LogicMatchForm"/>
    </form-beans>

< action-mappings>
        < action name="LogicMatchForm" path="/logicmatch" scope="request" type="com.myapp.struts.LogicMatchAction" validate="false">
        < forward name="success" path="/LogicMatchTag.jsp"/>

            </action>
</action-mappings>

	</struts-config>

6.Building and running the application
Output

Access page:http://localhost:8080/logicmatch/
After evaluation the result is displayed

also read:

Comments

comments

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Speak Your Mind

*

Close
Please support the site
By clicking any of these buttons you help our site to get better