Person.java
package com.journaldev.model;
public interface Person {
public String getName();
public void setName(String nm);
}
Address.java
package com.journaldev.model;
public class Address {
private String address;
public Address() {
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String toString(){
return "Address="+address;
}
}
Employee.java
package com.journaldev.model;
public class Employee implements Person {
private String name;
private int id;
private Address address;
public Employee() {
}
@Override
public String getName() {
return this.name;
}
@Override
public void setName(String nm) {
this.name = nm;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
@Override
public String toString(){
return "ID="+id+",Name="+name+",Address="+address;
}
}
Now let’s see the code of a simple servlet that will set some attributes.
HomeServlet.java
package
com.journaldev.servlet;
import
java.io.IOException;
import
javax.servlet.RequestDispatcher;
import
javax.servlet.ServletException;
import
javax.servlet.annotation.WebServlet;
import
javax.servlet.http.Cookie;
import
javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
javax.servlet.http.HttpSession;
import
com.journaldev.model.Address;
import
com.journaldev.model.Employee;
import
com.journaldev.model.Person;
@WebServlet
(
"/HomeServlet"
)
public
class
HomeServlet
extends
HttpServlet {
private
static
final
long
serialVersionUID = 1L;
protected
void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
//Setting some attributes
Person person =
new
Employee();
person.setName(
"Pankaj"
);
request.setAttribute(
"person"
, person);
Employee emp =
new
Employee();
Address add =
new
Address();
add.setAddress(
"India"
);
emp.setAddress(add);
emp.setId(
1
);
emp.setName(
"Pankaj Kumar"
);
HttpSession session = request.getSession();
session.setAttribute(
"employee"
, emp);
response.addCookie(
new
Cookie(
"User.Cookie"
,
"Tomcat User"
));
getServletContext().setAttribute(
"User.Cookie"
,
"Tomcat User"
);
RequestDispatcher rd = getServletContext().getRequestDispatcher(
"/home.jsp"
);
rd.forward(request, response);
}
}
web.xml
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
web-app
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns
=
"http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation
=
"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version
=
"3.0"
>
<
display-name
>JSPELExample</
display-name
>
<
context-param
>
<
param-name
>AppID</
param-name
>
<
param-value
>123</
param-value
>
</
context-param
>
</
web-app
>
JSP code using EL to create views:
home.jsp
<%@ page language="java" contentType="text/html; charset=US-ASCII"
pageEncoding="US-ASCII" import="java.util.*"%>
<!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=US-ASCII">
<title>JSP EL Example Home</title>
</head>
<body>
<% List<String> names = new ArrayList<String>();
names.add("Pankaj");names.add("David");
pageContext.setAttribute("names", names);
%>
<strong>Simple . EL Example:</strong> ${requestScope.person}
<br><br>
<strong>Simple . EL Example without scope:</strong> ${person}
<br><br>
<strong>Simple [] Example:</strong> ${applicationScope["User.Cookie"]}
<br><br>
<strong>Multiples . EL Example:</strong> ${sessionScope.employee.address.address}
<br><br>
<strong>List EL Example:</strong> ${names[1]}
<br><br>
<strong>Header information EL Example:</strong> ${header["Accept-Encoding"]}
<br><br>
<strong>Cookie EL Example:</strong> ${cookie["User.Cookie"].value}
<br><br>
<strong>pageContext EL Example:</strong> HTTP Method is ${pageContext.request.method}
<br><br>
<strong>Context param EL Example:</strong> ${initParam.AppID}
<br><br>
<strong>Arithmetic Operator EL Example:</strong> ${initParam.AppID + 200}
<br><br>
<strong>Relational Operator EL Example:</strong> ${initParam.AppID < 200}
<br><br>
<strong>Arithmetic Operator EL Example:</strong> ${initParam.AppID + 200}
<br><br>
</body>
</html>