Working with JSP action Tags:
Action tags are a set of some basic tags, 
such as inserting other page resources, forwarding the request to another page, 
creating and locating the JavaBeans instances, and setting and retrieving bean 
properties, in JSP pages. Instead of using Java code, the programmer uses 
special JSP action tags to either link to a Java Bean set its properties, or get 
its properties.
These are the most commonly used action 
tags are :
- include
- forward
- param
- useBean
- setProperty
- getProperty
In this article I described the first three action 
tags, the next three action tags will be described in the next article. 
Describing the Include Tag: The include 
action tag allows a static or dynamic resource such as HTML or JSP pages, 
specified by a URL, to be included in the current JSP while processing a 
request.Include action tag is almost similar to include directive. This include 
can be static or dynamic. This include file is first compiled and output of this 
file is inserted with parent file. The following code snippet shows the syntax 
of the include action :
<jsp: include attributes>
<!--zero or more jsp: param tags-->
</jsp: include>
Difference Between Include Directive and 
Include action:
Include Directive: The 'include' 
directive tag inserts the given page and includes content in the generated 
Servlet page during the translation phase of the JSP life cycle. It is generally 
used to include files, such as HTML, JSP, XML .txt file, into a JSP page 
statically. The snippet code use for it is:
<%@ include file= "index.jsp" %>
Include Action: The 'include' action tag 
is used to include the response generated by executing the specified JSP page or 
Servlet. Unlike the include directive tag, the include action tag accepts 
expressions. we can  decide the page to be included at runtime, whereas it 
is not possible with the include directive tag. The snippet code use for it is:
<jsp: include page= "index.jsp">
Describing the Forward Tag: The 
jsp:forward tag forwards the request to another resource. The resource can be 
dynamic or static.  When we use param tags, it is dynamic forward 
with having values. Static forward is simple forward without having param tags. 
Forward is used when we need to jump from one page to another if error occur or 
if work is completed in parent page. The following 
code snippet shows the syntax of the forward action:
<jsp:forward attributes>
<!--zero or more jsp: param tags-->
</jsp:forward>
Like:<jsp:forward page= "Header.html"/>
Describing the Param Tag: The jsp:param 
tag allows us to  a name and value pair as parameter to a dynamic resource, 
while including and forwarding the jsp page to another  jsp page. we can 
use more than one param tag if we want to  more than one parameter. The 
following code snippet shows the syntax of the param action :
<jsp:param attributes />
Example: In this example i use the 
functionality of the discussed action tags:
index.jsp:
<Html>
<body bgcolor="skyblue">
<pre>
<form action="front.jsp">
<b>Number 1:</b><input type="text" name="f1"/>
<b>Number 2:</b><input type="text" name="f2"/><br><br>
<input type="submit" name="submit" value="Add"/><input type="submit" 
name="submit" value="Sub"/>
</form>
</pre>
</body>
</Html>
Front.jsp:
<%@page errorPage="/index.jsp" %>
<%
String s1=request.getParameter("f1");
String s2=request.getParameter("f2");
Integer.parseInt(s1);
Integer.parseInt(s2);
String submit=request.getParameter("submit");
if(submit.equals("Add")){
%>
<jsp:forward page="/Add.jsp"/>
<%
} else if(submit.equals("Sub")){
%>
<jsp:forward page="/Sub.jsp"/>
<%
} else{
%>
<jsp:forward page="/index.jsp"/>
<%}%>
 
Add.jsp:
<%
int a1=Integer.parseInt(request.getParameter("f1"));
int a2=Integer.parseInt(request.getParameter("f2"));
int result=a1+a2;
%>
<jsp:forward page="/Result.jsp">
<jsp:param name="result" value="<%=result%>"/> 
</jsp:forward>
Sub.jsp:
<%
int a1=Integer.parseInt(request.getParameter("f1"));
int a2=Integer.parseInt(request.getParameter("f2"));
int result=a1-a2;
%>
<jsp:forward page="/Result.jsp">
<jsp:param name="result" value="<%=result%>"/> 
</jsp:forward>
 
Result.jsp:
<%
String result=request.getParameter("result");
String submit=request.getParameter("submit");
%>
<html>
<body bgcolor="cyan">
<center>
<%
if(submit.equals("Add")){
%>
Result of Addition:<%=result%>
<%
}else{
%>
Result of Subtraction:<%=result%>
<%}%>
</center>
<jsp:include page="/index.jsp"/>
</body>
</html>
Output:
index.jsp:
![index..gif]()
Result.jsp:
Addition
![result1.gif]()
Subtraction
![result2.gif]()