{"id":197,"date":"2007-09-06T00:00:00","date_gmt":"2007-09-06T00:00:00","guid":{"rendered":"http:\/\/www.strongd.net\/?p=197"},"modified":"2007-09-06T00:00:00","modified_gmt":"2007-09-06T00:00:00","slug":"Logic Match Tag (<logic:match >...<\/logic:match >) ","status":"publish","type":"post","link":"https:\/\/www.strongd.net\/?p=197","title":{"rendered":"Logic Match Tag (<logic:match >&#8230;<\/logic:match >)"},"content":{"rendered":"<p><H3><FONT color=#000080>match tag &#8211;<\/FONT><FONT color=#0000ff><I> We use this tag to evaluate the contents contained in the nested body parts of this tag if the specified value is an appropriate substring of the requested variable.<\/I><\/FONT><\/H3><br \/>\n<P><FONT color=#000080>This tag matches the variable specified as a String against the specified constant value. If the value is a substring&nbsp; then the nested body content of this tag is evaluated.<\/FONT><\/P><br \/>\n<P><FONT color=#000080><B>Attributes of match<\/B> <B>Tag<\/B><\/FONT><\/P><br \/>\n<TABLE class=tag-attributes borderColor=#ffffcc bgColor=#ffffcc><br \/>\n<THEAD><br \/>\n<TR><br \/>\n<TH class=attribute><FONT color=#000080>Attribute Name<\/FONT><\/TH><br \/>\n<TH><FONT color=#000080>Description<\/FONT><\/TH><\/TR><\/THEAD><br \/>\n<TBODY><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>cookie<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the value of the cookie whose name is specified by this attribute.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>header<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>location<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>If not specified, a match between the variable and the value may occur at any position within the variable string. If specified, the match must occur at the specified location (either <CODE>start<\/CODE> or <CODE>end<\/CODE>) of the variable string.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>name<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the JSP bean specified by this attribute, if <CODE>property<\/CODE> is not specified, or the value of the specified property of this bean, if <CODE>property<\/CODE> is specified.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>parameter<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the first, or only, value of the request parameter specified by this attribute.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>property<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the property (of the bean specified by the <CODE>name<\/CODE> attribute) specified by this attribute. The property reference can be simple, nested, and\/or indexed.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>scope<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The bean scope within which to search for the bean named by the <CODE>name<\/CODE> property, or &#8220;any scope&#8221; if not specified.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>value<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The constant value which is checked for existence as a substring of the specified variable.<\/FONT><\/P><\/TD><\/TR><\/TBODY><\/TABLE><br \/>\n<P>&nbsp;<\/P><br \/>\n<H1><FONT color=#000080>Logic notMatch&nbsp; Tag (&lt;logic:notMatch&nbsp; &gt;&#8230;&lt;\/logic:notMatch&nbsp; &gt;)&nbsp;<\/FONT><\/H1><br \/>\n<H3 id=notEmpty><STRONG><FONT color=#000080>notMatch<\/FONT><\/STRONG><FONT color=#0000ff> &#8211; <I>We use this tag to evaluate the contents contained in the nested body parts of this tag if the specified value is not a substring of the requested variable.<BR><\/I><\/FONT><\/H3><br \/>\n<P id=notEmpty><FONT color=#000080>This tag matches<\/FONT><FONT color=#000080> the variable specified by one of&nbsp; attributes (as a String) against the specified constant value. If the value is not a substring&nbsp; the nested body content of this tag is evaluated.<\/FONT><\/P><br \/>\n<P id=notEmpty><FONT color=#000080><BR><B>Attributes of notMatch&nbsp;<\/B> <B>Tag<\/B><\/FONT><\/P><br \/>\n<TABLE class=tag-attributes borderColor=#ffffcc bgColor=#ffffcc><br \/>\n<THEAD><br \/>\n<TR><br \/>\n<TH class=attribute><FONT color=#000080>Attribute Name<\/FONT><\/TH><br \/>\n<TH><FONT color=#000080>Description<\/FONT><\/TH><\/TR><\/THEAD><br \/>\n<TBODY><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>cookie<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the value of the cookie whose name is specified by this attribute.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>header<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>location<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>If not specified, a match between the variable and the value may occur at any position within the variable string. If specified, the match must occur at the specified location (either <CODE>start<\/CODE> or <CODE>end<\/CODE>) of the variable string.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>name<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the JSP bean specified by this attribute, if <CODE>property<\/CODE> is not specified, or the value of the specified property of this bean, if <CODE>property<\/CODE> is specified.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>parameter<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the first, or only, value of the request parameter specified by this attribute.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>property<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The variable to be matched is the property (of the bean specified by the <CODE>name<\/CODE> attribute) specified by this attribute. The property reference can be simple, nested, and\/or indexed.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=evenRow><br \/>\n<TD align=middle><FONT color=#000080><B>scope<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The bean scope within which to search for the bean named by the <CODE>name<\/CODE> property, or &#8220;any scope&#8221; if not specified.<\/FONT><\/P><\/TD><\/TR><br \/>\n<TR class=oddRow><br \/>\n<TD align=middle><FONT color=#000080><B>value<\/B><\/FONT><\/TD><br \/>\n<TD><br \/>\n<P><FONT color=#000080>The constant value which is checked for existence as a substring of the specified variable.<\/FONT><\/P><\/TD><\/TR><\/TBODY><\/TABLE><br \/>\n<H2>&nbsp;<\/H2><br \/>\n<H2><FONT color=#000080>Example Illustrating the use of the Match &lt;logic:match &gt; and the notMatch&nbsp; &lt;logic:notMatch&nbsp; &gt; logic tags.<\/FONT><\/H2><br \/>\n<P><FONT color=#000080>Here you will learn to use the Struts&nbsp; Logic tags. We will cover an example that will show&nbsp; a comparison between&nbsp; the two logic tags (ie..&lt;logic:match &gt; and the &lt;logic:notMatch&gt;).<\/FONT><\/P><br \/>\n<P><FONT color=#000080><B>Example code<\/B><\/FONT><\/P><br \/>\n<P><B><FONT color=#000080>Creating an <\/FONT><\/B><FONT color=#000080><B>Action&nbsp; Class<\/B><\/FONT><\/P><br \/>\n<P><FONT color=#000080>Develop a simple action class <\/FONT><CODE><FONT color=#0000ff>LogicAction.java.<\/FONT><\/CODE><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE cellSpacing=0 cellPadding=0 width=\"70%\" border=0><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><br \/>\n<DIV class=java align=left><br \/>\n<TABLE borderColor=#ffffcc cellSpacing=0 cellPadding=3 bgColor=#ffffcc border=1><br \/>\n<TBODY><br \/>\n<TR><!-- start source code --><br \/>\n<TD vAlign=top noWrap align=left><CODE><B><FONT color=#7f0055>package<\/FONT><FONT color=#000080>&nbsp;<\/FONT><\/B><FONT color=#000080>roseindia.net;<BR><BR><B>import&nbsp;<\/B>java.io.*;<BR><B>import&nbsp;<\/B>java.util.*;<BR><BR>\/**<\/FONT><\/CODE><br \/>\n<P><CODE><FONT color=#000080>*&nbsp;@author&nbsp;Amit&nbsp;Gupta<BR>*&nbsp;@Web&nbsp;http:\/\/www.roseindia.net<BR>*&nbsp;@Email&nbsp;<A href=\"mailto:struts@roseindia.net\">struts@roseindia.net<BR><BR><\/A>**\/<BR><B>import&nbsp;<\/B>javax.servlet.http.HttpServletRequest;<BR><B>import&nbsp;<\/B>javax.servlet.http.HttpServletResponse;<BR><B>import&nbsp;<\/B>javax.servlet.ServletException;<BR><B>import&nbsp;<\/B>org.apache.struts.action.*;<BR><BR><B>public&nbsp;class&nbsp;<\/B>LogicAction <B>extends&nbsp;<\/B>Action&nbsp;<BR>{<BR>&nbsp;&nbsp;<B>public&nbsp;<\/B>ActionForward&nbsp;execute(ActionMapping&nbsp;mapping,<BR>&nbsp;&nbsp;&nbsp;&nbsp;ActionForm&nbsp;form,<BR>&nbsp;&nbsp;&nbsp;&nbsp;HttpServletRequest&nbsp;request,<BR>&nbsp;&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;response)<BR>&nbsp;&nbsp;&nbsp;&nbsp;<B>throws&nbsp;<\/B>IOException,&nbsp;ServletException&nbsp;{<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>return&nbsp;<\/B>mapping.findForward(&#8220;success&#8221;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<\/FONT><\/CODE><\/P><\/TD><!-- end source code --><\/TR><\/TBODY><\/TABLE><\/DIV><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><B><FONT color=#000080>Creating Form Bean<\/FONT><\/B><\/P><br \/>\n<P><FONT color=#000080>Our form bean class contains only one property <B>text<\/B>. Here is the code of FormBean <\/FONT><FONT color=#0000ff>(<\/FONT><CODE><FONT color=#0000ff>Logic<\/FONT><\/CODE><FONT color=#0000ff><CODE>Form<\/CODE>.java)<\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE cellSpacing=0 cellPadding=0 width=\"70%\" border=0><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><br \/>\n<DIV class=java align=left><br \/>\n<TABLE borderColor=#ffffcc cellSpacing=0 cellPadding=3 bgColor=#ffffcc border=1><br \/>\n<TBODY><br \/>\n<TR><!-- start source code --><br \/>\n<TD vAlign=top noWrap align=left><CODE><FONT color=#7f0055><B>package&nbsp;<\/B><\/FONT><FONT color=#000000>roseindia.net;<\/FONT><BR><BR><FONT color=#7f0055><B>import&nbsp;<\/B><\/FONT><FONT color=#000000>org.apache.struts.action.*;<\/FONT><BR><BR><FONT color=#000080>\/**<BR><BR>*&nbsp;@author&nbsp;Amit&nbsp;Gupta<BR>*&nbsp;@Web&nbsp;http:\/\/www.roseindia.net<BR>*&nbsp;@Email&nbsp;<A href=\"mailto:struts@roseindia.net\">struts@roseindia.net<BR><\/A><BR>**\/<BR><\/FONT><\/CODE><br \/>\n<P><CODE><FONT color=#7f0055><B>import&nbsp;<\/B><\/FONT><FONT color=#000000>javax.servlet.http.HttpServletRequest;<\/FONT><BR><FONT color=#7f0055><B>import&nbsp;<\/B><\/FONT><FONT color=#000000>javax.servlet.http.HttpServletResponse;<\/FONT><BR><BR><FONT color=#7f0055><B>public&nbsp;class&nbsp;<\/B><\/FONT><FONT color=#000000>EmptyForm&nbsp;<\/FONT><FONT color=#7f0055><B>extends&nbsp;<\/B><\/FONT><FONT color=#000000>ActionForm&nbsp;<\/FONT><BR><FONT color=#000000>{<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><FONT color=#7f0055><B>private&nbsp;<\/B><\/FONT><FONT color=#000000>String&nbsp;text&nbsp;=&nbsp;<\/FONT><FONT color=#2a00ff>&#8220;&#8221;<\/FONT><FONT color=#000000>;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;<\/FONT><FONT color=#7f0055><B>public&nbsp;<\/B><\/FONT><FONT color=#000000>String&nbsp;getText()&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><FONT color=#000000>{<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><FONT color=#7f0055><B>return&nbsp;<\/B><\/FONT><FONT color=#000000>text;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><FONT color=#000000>}<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><FONT color=#7f0055><B>public&nbsp;void&nbsp;<\/B><\/FONT><FONT color=#000000>setText(String&nbsp;text)&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><FONT color=#000000>{<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><FONT color=#7f0055><B>this<\/B><\/FONT><FONT color=#000000>.text=text;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;<\/FONT><FONT color=#000000>}<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;<\/FONT><BR><FONT color=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;<\/FONT><BR><FONT color=#000000>}<\/FONT><\/CODE><\/P><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><B><FONT color=#0000ff>Defining form Bean in struts-config.xml file<\/FONT><\/B><\/P><br \/>\n<P><FONT color=#000080>Add the following entry in the struts-config.xml file for defining the&nbsp;form bean<\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE borderColor=#ffffcc cellSpacing=0 cellPadding=0 width=\"56%\" bgColor=#ffffcc border=1><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><FONT color=#000080>&lt;form-bean name=&#8221;<CODE>LogicForm<\/CODE>&#8221;&nbsp; type=&#8221;roseindia.net.<CODE>LogicForm<\/CODE>&#8221; \/&gt;<\/FONT><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P>&nbsp;<B><FONT color=#0000ff>Developing the Action Mapping in the struts-config.xml<BR><\/FONT><\/B><FONT color=#000080><BR>Here, Action mapping helps to select the method from the Action class for&nbsp;specific requests.<\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE borderColor=#ffffcc cellSpacing=0 cellPadding=0 width=\"40%\" bgColor=#ffffcc border=1><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><FONT color=#000080>&lt;action path=&#8221;\/LogicAction&#8221;<BR>type=&#8221;roseindia.net.LogicAction&#8221;<BR>name=&#8221;LogicForm&#8221;<BR>scope=&#8221;request&#8221;<BR>input=&#8221;\/pages\/InputLogic.jsp&#8221;&gt;<BR>&lt;forward name=&#8221;success&#8221; path=&#8221;\/pages\/output.jsp&#8221;\/&gt;<BR>&lt;\/action&gt;<\/FONT><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><FONT color=#000080>Developing the<\/FONT><FONT color=#0000ff> <\/FONT><FONT color=#0000ff>InputLogic.jsp<\/FONT><FONT color=#000080> page<\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE borderColor=#ffffcc cellSpacing=0 cellPadding=0 width=\"42%\" bgColor=#ffffcc border=1><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><FONT color=#000080>&lt;%@ taglib uri=&#8221;\/tags\/struts-html&#8221; prefix=&#8221;html&#8221; %&gt;<BR>&lt;%@ taglib uri=&#8221;\/tags\/struts-logic&#8221; prefix=&#8221;logic&#8221; %&gt;<BR><BR>&lt;html:html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;Using &amp;lt;logic&amp;gt; Tags&lt;\/title&gt;<BR>&lt;\/head&gt;<BR><BR>&lt;body&gt;<BR>&lt;h1&gt;Using &amp;lt;logic&amp;gt; Tags&lt;\/h1&gt;<BR><BR>&lt;html:form action=&#8221;\/LogicAction&#8221; method =&#8221;post&#8221;&gt;<BR><BR>&lt;h2&gt;Enter text:&lt;\/h2&gt;<BR>&lt;html:text property=&#8221;text&#8221;\/&gt;<BR><BR>&lt;br&gt;<BR>&lt;h4&gt;The &amp;lt;logic:match&amp;gt;tag works if the entered &lt;\/h4&gt;<BR>&lt;h4&gt;text contains &#8220;amit&#8221;&lt;\/h4&gt;<BR>&lt;h4&gt;The &amp;lt;logic:notMatch&amp;gt;tag always evaluate the &lt;\/h4&gt;<BR>&lt;h4&gt;entered text against the&#8221;abc&#8221; value&lt;\/h4&gt;<BR>&lt;br&gt;<BR><BR>&lt;html:submit value=&#8221;Submit&#8221;\/&gt;<BR><BR><BR>&lt;html:cancel\/&gt;<BR>&lt;\/html:form&gt;<BR>&lt;\/body&gt;<BR>&lt;\/html:html&gt;<\/FONT><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><FONT color=#000080>Developing the <\/FONT><FONT color=#0000ff>output.jsp<\/FONT><FONT color=#000080> page<\/FONT><\/P><br \/>\n<P><FONT color=#000080><B>Notice the values<\/B><\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE borderColor=#ffffcc cellSpacing=0 cellPadding=0 width=\"50%\" bgColor=#ffffcc border=1><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><FONT color=#000080>&lt;%@ taglib uri=&#8221;\/tags\/struts-bean&#8221; prefix=&#8221;bean&#8221; %&gt;<BR>&lt;%@ taglib uri=&#8221;\/tags\/struts-logic&#8221; prefix=&#8221;logic&#8221; %&gt;<BR><BR>&lt;HTML&gt;<BR>&lt;HEAD&gt;<BR>&lt;TITLE&gt;Here&#8217;s Your Data&#8230;&lt;\/TITLE&gt;<BR>&lt;\/HEAD&gt;<BR><BR>&lt;BODY&gt;<BR>&lt;H4&gt;Here&#8217;s Your Data&#8230;&lt;\/H4&gt;<BR><BR>&lt;h4&gt;The text entered is:<BR><BR>&lt;bean:write name=&#8221;LogicForm&#8221; property=&#8221;text&#8221;\/&gt;&lt;\/h4&gt;<BR><BR><BR><\/FONT><FONT color=#0000ff>&lt;logic:<B>match<\/B> name=&#8221;LogicForm&#8221; property=&#8221;text&#8221; <B>value=&#8221;amit&#8221;<\/B>&gt;<BR>&lt;h5&gt;Using the tag &amp;lt;logic:match &amp;gt; &lt;\/h5&gt;&nbsp;<BR>Result : entered text contains &#8220;amit&#8221;<BR>&lt;\/logic:<B>match<\/B>&gt;<BR><BR><BR><BR>&lt;logic<B>:notMatch<\/B> name=&#8221;LogicForm&#8221; property=&#8221;text&#8221;<B> value=&#8221;abc&#8221;<\/B>&gt;<BR>&lt;h5&gt;Using the tag&amp;lt;logic:notMatch&amp;gt;&lt;\/h5&gt;&nbsp;<BR>Result: entered text does not contains &#8220;abc&#8221;<BR>&lt;\/logic:<B>notMatch<\/B>&gt;<BR><\/FONT><FONT color=#000080><BR>&lt;\/BODY&gt;<BR>&lt;\/HTML&gt;<\/FONT><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><FONT color=#000080>Add the following line in the <\/FONT><FONT color=#0000ff>index.jsp<\/FONT><FONT color=#000080> to call the form.<\/FONT><\/P><br \/>\n<P><FONT color=#0000ff>&lt;li&gt;<BR>&lt;html:link page=&#8221;\/pages\/InputLogic.jsp&#8221;&gt;Struts File Upload&lt;\/html:link&gt;<BR>&lt;br&gt;<BR>Example demonstrates&nbsp; how LogicAction Class works.<BR>&lt;\/li&gt;<BR><\/FONT><\/P><br \/>\n<P><B><FONT color=#000080>Building and Testing the Example&nbsp;<\/FONT><\/B><\/P><br \/>\n<P><FONT color=#000080>To build and deploy the application go to Struts\\Strutstutorial directory and type ant on the command prompt. This will deploy the application. Open the browser and navigate to the InputLogic.jsp<B> <\/B>page. Your browser displays the following&nbsp; page.<\/FONT><\/P><br \/>\n<P><FONT color=#000080>Writing text including &#8220;amit&#8221; and excluding &#8220;abc&#8221; to the <B>InputLogic.jsp <\/B>page displays the working of&nbsp; the&nbsp; <B>match Logic tag &lt;logic:match &gt;&nbsp;and the notMatch Logic tag &lt;logic:notMatch &gt;&nbsp;.<\/B><\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE cellSpacing=0 cellPadding=0 width=\"44%\" border=0><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><IMG height=533 src=\"http:\/\/www.roseindia.net\/struts\/struts-logictags\/logic-Match.gif\" width=425 border=0><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><FONT color=#000080>It displays the following to the <B>out.jsp <\/B>page<\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE cellSpacing=0 cellPadding=0 width=\"33%\" border=0><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><IMG height=380 src=\"http:\/\/www.roseindia.net\/struts\/struts-logictags\/logic-Match1.gif\" width=381 border=0><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><FONT color=#000080>Writing text including &#8220;amit&#8221; and&nbsp; &#8220;abc&#8221; to the <B>InputLogic.jsp <\/B>page displays the working of&nbsp; the&nbsp; <B>match Logic tag &lt;logic:match &gt;&nbsp;and the notMatch Logic tag &lt;logic:notMatch &gt;&nbsp;.<\/B><\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE cellSpacing=0 cellPadding=0 width=\"32%\" border=0><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><IMG height=528 src=\"http:\/\/www.roseindia.net\/struts\/struts-logictags\/logic-Match2.gif\" width=425 border=0><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<P><FONT color=#000080>The<\/FONT> <FONT color=#000080>&lt;logic:notEqual &gt; evaluated here displays the <\/FONT><FONT color=#0000ff>output.jsp<\/FONT><FONT color=#000080> as<\/FONT><\/P><br \/>\n<DIV align=left><br \/>\n<TABLE cellSpacing=0 cellPadding=0 width=\"33%\" border=0><br \/>\n<TBODY><br \/>\n<TR><br \/>\n<TD width=\"100%\"><IMG height=290 src=\"http:\/\/www.roseindia.net\/struts\/struts-logictags\/logic-Match3.gif\" width=374 border=0><\/TD><\/TR><\/TBODY><\/TABLE><\/DIV><br \/>\n<DIV><\/DIV><\/p>\n","protected":false},"excerpt":{"rendered":"<p>match tag &#8211; We use this tag to evaluate the contents contained in the nested body parts of this tag if the specified value is an appropriate substring of the requested variable. This tag matches the variable specified as a String against the specified constant value. If the value is a substring&nbsp; then the nested &hellip; <a href=\"https:\/\/www.strongd.net\/?p=197\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Logic Match Tag (<logic:match >&#8230;<\/logic:match >)<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-197","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=197"}],"version-history":[{"count":0,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/197\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}