View Javadoc

1   /*
2    * $Id: ErrorTag.java 130 2004-11-28 13:00:44Z josem $
3    *
4    * Tarsis
5    * Copyright (C) 2002 Talika Open Source Group
6    *
7    * This program is free software; you can redistribute it and/or modify
8    * it under the terms of the GNU General Public License as published by
9    * the Free Software Foundation; either version 2 of the License, or
10   * (at your option) any later version.
11   *
12   * This program is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   * GNU General Public License for more details.
16   *
17   * You should have received a copy of the GNU General Public License
18   * along with this program; if not, write to the Free Software
19   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20   *
21   */
22  
23  package org.talika.tarsis.taglib.util;
24  
25  import java.io.IOException;
26  
27  import javax.servlet.jsp.JspWriter;
28  import javax.servlet.jsp.tagext.TagSupport;
29  
30  /**
31   * Implementation of <util:error> tag.
32   *
33   * @author  Jose M. Palomar
34   * @version $Revision: 130 $
35   */
36  public class ErrorTag extends TagSupport {
37  
38      // Fields
39  
40      // Methods
41      /**
42       * Process the start tag for this instance.
43       *
44       * @return int SKIP_BODY.
45       * @see javax.servlet.jsp.tagext.Tag#doStartTag()
46       */
47      public int doStartTag() {
48  
49          try {
50  
51              JspWriter out = pageContext.getOut();
52  
53              Throwable t = (Throwable) pageContext.findAttribute("javax.servlet.jsp.jspException");
54              if (t != null) {
55                  if (t.getMessage() != null) {
56                      out.print(t.getMessage());
57                  }
58                  else {
59                      out.print(t.toString());
60                  }
61              }
62  
63          }
64          catch (IOException ioe) {
65              // Bad luck
66          }
67  
68          return SKIP_BODY;
69  
70      }
71  
72  }