Logic Present Tag (<logic:present >...</logic:present >)
present tag -This tag evaluates its nested body contents if the specified value is present in the request.
This tag checks the current request and depending on which attribute is specified, it evaluates the nested body content of this tag only if the specified value is present.
Attributes of Present Tag
Attribute Name | Description |
---|---|
cookie |
It checks the existence of a cookie with the specified name. |
header |
It checks the existence of an HTTP header with the specified name. The name match is performed in a case insensitive manner. |
name |
It checks the existence of a JSP bean, in any
scope, with the specified name. If |
parameter |
It checks the existence of at least one occurrence of the specified request parameter on this request, even if the parameter value is a zero-length string. |
property |
It checks the existence of a non-null property
value, returned by a property getter method on the JSP bean (in any
scope) that is specified by the |
role |
It checks whether the currently authenticated user (if any) has been associated with any of the specified security roles. Use a comma-delimited list to check for multiple roles. |
scope |
The bean scope within which to search for the
bean named by the |
user |
It checks whether the currently authenticated user principal has the specified name. |
Logic notPresent Tag (<logic:not Present>...</logic:not Present>)
notPresent tag -This tag evaluates its nested body content if the specified value is not present in the request.
Tag evaluation of the nested body content
occurs only if the specified value is not available in the request i.e...
works in reverses to present tag.
Attributes of notPresent Tag
Attribute Name | Description |
---|---|
cookie |
It checks the existence of a cookie with the specified name. |
header |
It checks the existence of an HTTP header with the specified name. The name match is performed in a case insensitive manner. |
name |
It checks the existence of a JSP bean, in any scope, with the
specified name. If |
parameter |
It checks the existence of at least one occurrence of the specified request parameter on this request, even if the parameter value is a zero-length string. |
property |
It checks the existence of a non-null property value, returned by a
property getter method on the JSP bean (in any scope) that is specified
by the |
role |
It checks whether the currently authenticated user (if any) has been associated with the specified security role. |
scope |
The bean scope within which to search for the bean named by the |
user |
It checks whether the currently authenticated user principal has the specified name. |
Example Illustrating the use of the present <logic:present > and the notPresent <logic:notPresent > logic tags.
Here you will learn to use the Struts Logic tags. We will cover an example that will show a comparison between the two logic tags (ie..<logic:present > and the <logic:notPresent >).
Example code
Creating an Action Class
Develop a simple action class LogicAction.java.
|
Creating Form Bean
Our form bean class contains only one property text.
Here is the code of FormBean (Logic
Form
.java)
|
Defining form Bean in struts-config.xml file
Add the following entry in the struts-config.xml file for defining the form bean 0
<form-bean name="LogicForm "
type="roseindia.net.LogicForm " /> |
Developing the Action Mapping in the struts-config.xml
Here, Action mapping helps to select the method from the Action class for specific
requests.
<action path="/LogicAction" type="roseindia.net.LogicAction" name="LogicForm" scope="request" input="/pages/InputLogic.jsp"> <forward name="success" path="/pages/output.jsp"/> </action> |
Developing the InputLogic.jsp page
<%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <html:html> <head> <title>Using <logic> Tags</title> </head> <body> <h1>Using <logic> Tags</h1> <html:form action="/LogicAction" method ="post"> <h2>Enter text :</h2> <html:text property="text"/> <html:submit value="Submit"/> <html:cancel/> </html:form> </body> </html:html> |
Developing the output.jsp page: 1
Notice the property values
<%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <HTML> <HEAD> <TITLE>Here's Your Data...</TITLE> </HEAD> <BODY> <H4>Here's Your Data...</H4> <h4>The text entered is: <bean:write name="LogicForm1" property="text"/></h4> <logic:present name="LogicForm1" property="text" > <h5>Using the tag <logic:present > </h5> Result: Successfully supported </logic:present>
<logic:notPresent name="LogicForm1" property="text1" > |
Add the following line in the index.jsp to call the form. 2
<li>
<html:link page="/pages/InputLogic.jsp">Struts File Upload</html:link>
<br>
Example demonstrates how LogicAction Class works.
</li>
Building and Testing the Example
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 page. Your browser displays the following page. 3
Writing a text string to the InputLogic.jsp page lets you to see the working of the present Logic tag <logic:present > and the notPresent Logic tag <logic:notPresent >.
It displays the following out.jsp page