0 Replies Latest reply on Apr 12, 2006 7:43 AM by Dimitri Pissarenko

    Passing data from Servlet to JSP page

    Dimitri Pissarenko Newbie

      Hello!

      I have a servlet EnterConstantServlet, which does some operation, which might fail. If that operation fails, I want that the user comes to a JSP page enterConstantFailed.jsp, where the error should be displayed.

      If the operation completes successfully, the user should be redirected to JSP page enterConstantSuccess.jsp.

      The servlet code is like shown below:

      public class EnterConstantServlet extends HttpServlet {
       private static final String SUCCESS_PAGE = "enterConstantSuccess.jsp";
       private static final String FAILURE_PAGE = "enterConstantFailed.jsp";
       private static final long serialVersionUID = 1L;
      
       public EnterConstantServlet() {
       super();
       // TODO Auto-generated constructor stub
       }
      
       /**
       * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
       */
       @Override
       protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       Exception2TextualStackTrace func=null;
       PendingConstantHome home=null;
       PendingConstant pendingConstant=null;
       Context initial =null;
       String constant=null;
       Object objRef =null;
      
       /**
       * fetch name of the constant
       */
       constant=req.getParameter("constantName");
      
       /**
       * save constant in OpenCyc as pending constant
       */
       try
       {
       initial = new InitialContext();
      
       objRef = initial.lookup("java:comp/env/ejb/SimpleRoster");
      
       home = (PendingConstantHome)PortableRemoteObject.narrow(objRef, PendingConstantHome.class);
      
       pendingConstant = home.create();
      
       pendingConstant.setPendingConstantName(constant);
      
       resp.sendRedirect(SUCCESS_PAGE);
       }
       catch (Exception exception)
       {
       func=new Exception2TextualStackTrace();
      
       System.out.println("failure reason: " + func.evaluate(exception));
      
       resp.addHeader(FAILURE_REASON, func.evaluate(exception));
       resp.sendRedirect(FAILURE_PAGE);
       }
       }
      }
      


      Note: The return value of

      func.evaluate(exception)


      is not null. I see this in the log file of JBoss.

      I have a problem - the failure reason (parameter FAILURE_REASON in the above code) is NOT displayed in enterConstantFailed.jsp.

      enterConstantFailed.jsp looks like shown below:

      <?xml version="1.0" encoding="UTF-8" ?>
      <%--
       $Author: user $
       $Revision: 1.2 $
       $Date: 2006/04/11 20:51:35 $
       $Id: enterConstantFailed.jsp,v 1.2 2006/04/11 20:51:35 user Exp $
       $Log: enterConstantFailed.jsp,v $
       Revision 1.2 2006/04/11 20:51:35 user
       Added routine for displaying failure reason.
      
       Revision 1.1 2006/04/11 20:29:58 user
       Initial commit.
      
      --%>
      <%@ page language="java" contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8"%>
      <%@ include file="header.jsp" %>
      
      <h1>????????? ?????? ??? ????? ?????????</h1>
      <p>????? ?????? ???????? ????.</p>
      <pre><%= request.getParameter(intranet.dapissarenko.com.WriteImageServlet.FAILURE_REASON) %></pre>
      
      <%@ include file="footer.jsp" %>
      


      What should I do in order for the failure reason to be displayed in enterConstantFailed.jsp?

      Thanks in advance

      Dmitri Pissarenko

      PS: This is the code of header.jsp:
      <?xml version="1.0" encoding="UTF-8" ?>
      <!--
       $Author: user $
       $Revision: 1.2 $
       $Date: 2006/04/04 21:39:40 $
       $Id: header.jsp,v 1.2 2006/04/04 21:39:40 user Exp $
       $Log: header.jsp,v $
       Revision 1.2 2006/04/04 21:39:40 user
       Added link to sanSanych.jsp.
      
       Revision 1.1 2006/04/02 22:56:57 user
       Initial commit.
      
      -->
      <%@ page language="java" contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8"%>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru-RU">
       <head>
       <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
       <meta name="author" content="haran" />
       <meta name="generator" content="haran" />
      
       <link rel="stylesheet" type="text/css" href="prosimii-screen.css" media="screen, tv, projection" title="Default" />
       <link rel="stylesheet alternative" type="text/css" href="prosimii-print.css" media="screen" title="Print Preview" />
       <link rel="stylesheet" type="text/css" href="prosimii-print.css" media="print" />
      
       <title>?????????? ???? ??????? ?????????</title>
       </head>
      
       <body>
       <!-- For non-visual user agents: -->
       <div id="top"><a href="#main-copy" class="doNotDisplay doNotPrint">Skip to main content.</a></div>
      
       <!-- ##### Header ##### -->
      
       <div id="header">
       <div class="superHeader">
       <span></span>
       <a href="http://dapissarenko.com" title="Dmitri Pissarenko">??????????? ???? ??????? ?????????</a>
       </div>
      
       <div class="midHeader">
       <h1 class="headerTitle" lang="la">??????? ?????????</h1>
       <div class="headerSubTitle">
       ?????????? ????
       </div>
      
       <br class="doNotDisplay doNotPrint" />
      
      
       </div>
      
       <div class="subHeader">
       <span class="doNotDisplay">Navigation:</span>
       <a href="enterTime.jsp">?????? ????? ??????</a> |
       <a href="sanSanych.jsp">??? ?????</a> |
       <a href="./index.html">?????????? ???????????</a>
       </div>
       </div>
      
       <!-- ##### Main Copy ##### -->
      
       <div id="main-copy">
       <div class="rowOfBoxes">
       <div class="twoThirds noBorderOnLeft">
      


      PPS: This is the code of footer.jsp:

      <?xml version="1.0" encoding="UTF-8" ?>
      <!--
       $Author: user $
       $Revision: 1.2 $
       $Date: 2006/04/02 23:07:06 $
       $Id: footer.jsp,v 1.2 2006/04/02 23:07:06 user Exp $
       $Log: footer.jsp,v $
       Revision 1.2 2006/04/02 23:07:06 user
       Fixed encoding problems.
      
       Revision 1.1 2006/04/02 22:56:57 user
       Initial commit.
      
      -->
      <%@ page language="java" contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8"%>
       <!-- ##### Main text comes here ##### -->
      
       </div>
       </div>
       </div>
      
       <!-- ##### Footer ##### -->
      
       <div id="footer">
       <span class="doNotPrint">
       ?? ???? ???????? ?????? ???? ???????? ?????? ?? ????
       <a href="mailto:office@dapissarenko.com">office@dapissarenko.com</a><br />
       </span>
      
       <strong>???????? ??????? »</strong> <%= java.text.DateFormat.getDateTimeInstance(java.text.DateFormat.DEFAULT, java.text.DateFormat.DEFAULT, new java.util.Locale("ru")).format(new java.util.Date()) %>
       </div>
       </body>
      </html>