JSP Scopes In Expression Language Example

Click here to download eclipse supported ZIP file




 

    
package com.cv.jsp.el.scope;

/**
 @author Chandra Vardhan
 *
 */
public class Dog {

  private String name;


  private Toy[] toys;
  
  public Toy[] getToys() {
    return toys;
  }

  public void setToys(Toy[] toys) {
    this.toys = toys;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  
}


 

    
package com.cv.jsp.el.scope;
/**
 
 */


/**
 @author Chandra Vardhan
 *
 */
public class Person {

  private String name;

  private Dog dog;
  
  public Dog getDog() {
    return dog;
  }

  public void setDog(Dog dog) {
    this.dog = dog;
  }

  public Person() {
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}


 

    
package com.cv.jsp.el.scope;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;

/**
 * Servlet implementation class MyServlet
 
 
 @author Chandra Vardhan
 
 */
public class TestServlet extends HttpServlet {
  
  private static final Logger LOGGER = Logger.getLogger(TestServlet.class);
  /**
   @see HttpServlet#HttpServlet()
   */
  public TestServlet() {
    super();
  }

  /**
   @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
   *      response)
   */
  protected void doGet(HttpServletRequest request,
      HttpServletResponse responsethrows ServletException, IOException {
    LOGGER.info("Entered into doGet(--) of TestServlet class... ");
    HttpSession session = request.getSession();

    response.setContentType("text/html");

    String name = request.getParameter("name");

    Person person = new Person();
    person.setName(name);

    Person person2 = new Person();
    person2.setName(name + " session");

    request.setAttribute("person", person);

    request.setAttribute("foo.person", person);
    // person.setName(name + "vardhan");
    session.setAttribute("person", person2);

    session.setAttribute("foo.person", person2);

    Person person3 = new Person();
    person3.setName(name + " context");

    ServletContext context = getServletContext();

    context.setAttribute("person", person3);
    context.setAttribute("foo.person", person3);

    RequestDispatcher dispatcher = request
        .getRequestDispatcher("result.jsp");
    dispatcher.forward(request, response);

  }

  /**
   @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
   *      response)
   */
  protected void doPost(HttpServletRequest request,
      HttpServletResponse responsethrows ServletException, IOException {
    LOGGER.info("Entered into doPost(--) of TestServlet class... ");
    doGet(request, response);
  }

}


 

    
package com.cv.jsp.el.scope;
/**
 
 */


/**
 @author Chandra Vardhan
 *
 */
public class Toy {

  public String name;
  
  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
  
}





<html>
<head>
<title>Login Page...</title>
<body bgcolor="white">
<br>
<br>
<form method="POST" action="TestServlet">
<table border="0" align="center">
<tr>
<th align="left">Name :</th>
<td align="left"><input type="text" name="name"></td>
</tr>
<tr>
<th align="left">Id :</th>
<td align="left"><input type="password" name="id"></td>
</tr>
<tr>
<td align="right"><input type="submit" value="Log In"></td>
<td align="left"><input type="reset"></td>
</tr>
</table>
</form>
</body>
</html>



<%@ page language="java" import="com.cv.jsp.el.*"
contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Result page...</title>
</head>
<body>
<fieldset>
<legend>Result page...</legend>
<table align="center">
<tr>
<td><label>I am from {requestScope.person.name} name : :
</label></td>
<td><font color="RED">${requestScope.person.name}</font></td>
</tr>
<tr>
<td><label>I am from {requestScope["foo.person"].name} : :
</label></td>
<td><font color="RED">${requestScope["foo.person"].name}</font></td>
</tr>

<tr>
<td><label>I am from  {sessionScope.person.name} : :
</label></td>
<td><font color="RED">${sessionScope.person.name}</font></td>
</tr>
<tr>
<td><label>I am from requestScope person name 4 way : :
</label></td>
<td><font color="RED">${requestScope["foo.person"].name}</font></td>
</tr>
<tr>
<td><label>I am from {sessionScope["foo.person"].name} : : </label></td>
<td><font color="RED">${sessionScope["foo.person"].name}</font></td>
</tr>
<tr>
<td><label>I am from {applicationScope.person.name}
: : </label></td>
<td><font color="RED">${applicationScope.person.name}</font></td>
</tr>
<tr>
<td><label>I am from {person.name} : : </label></td>
<td><font color="RED">${person.name}</font></td>
</tr>

</table>
</fieldset>
</body>
</html>





#By default enabling Console appender
# Root logger option
log4j.rootLogger=INFO, stdout

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p [%c]:%L -->> %m%n

# Redirect log messages to a log file
#log4j.appender.file=org.apache.log4j.RollingFileAppender
#log4j.appender.file.File=C:\\servlet-application.log
#log4j.appender.file.MaxFileSize=5MB
#log4j.appender.file.MaxBackupIndex=10
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n




	
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.cv.servlet.zip</groupId> <artifactId>JSPScopesInExpressionLanguage</artifactId> <version>1.0</version> <packaging>war</packaging> <properties> <log4j-version>1.2.16</log4j-version> <java-version>1.8</java-version> </properties> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <warSourceDirectory>WebContent</warSourceDirectory> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> </dependencies> </project>


 
<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>TestServlet</servlet-name> <servlet-class>com.cv.jsp.el.scope.TestServlet</servlet-class> <init-param> <param-name>jspInitParam</param-name> <param-value>jspInitParamValue</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/TestServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>first.html</welcome-file> </welcome-file-list> </web-app>


No comments:

Post a Comment