Quoting Ashutosh Satyam <[EMAIL PROTECTED]>: > Hi, > As suggeseted I switched to JSTL 1.0 > I'm running my application using Tomcat 4.1.30. > > Below is the content of my error page. > > <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> > <%@ page language ="java" > import="java.util.*,javax.servlet.http.*" > isErrorPage="true" %> > > <table cellSpacing="0" cellPadding="0" width="90%" align="center"> > <tr> > <td align="middle" class="msg" valign="center" width="50%"> > <c:choose> > <c:when test="${exception.class.name == > 'com.structs.InvalidParameterException'}"> > Exception is InvalidParameterException. > </c:when> > <c:otherwise> > Exception is not InvalidParameterException. > </c:otherwise> > </c:choose> > </td> > </tr> > </table> > > If I'm not wrong 'exception' is an implicit object available to a JSP. > But I never see the when part of content getting printed even if > InvalidParameterException > is thrown.
For an error page, "exception" is an implicit *scripting* variable. Meaning it's available to scriptlets (<% %>) and scripting expressions (<%= %>). It is not an implicit JSTL/EL object. However, there are a number of request attributes that should be set by the container. Here's how you might get at them with JSTL: <%@ page isErrorPage="true" contentType="text/plain" %> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> Error Page: ----------- status_code: <c:out value="${requestScope['javax.servlet.error.status_code']}"/> exception_type: <c:out value="${requestScope['javax.servlet.error.exception_type']}"/> message: <c:out value="${requestScope['javax.servlet.error.message']}"/> exception: <c:out value="${requestScope['javax.servlet.error.exception']}"/> request_uri: <c:out value="${requestScope['javax.servlet.error.request_uri']}"/> servlet_name: <c:out value="${requestScope['javax.servlet.error.servlet_name']}"/> See the servlet spec for details... > I also tried <c:when test="${exception.getClass().getName() == > 'com.structs.InvalidParameterException'}"> > But this time it encountered some parsing error. > > How exactly an object instance is passed to a JSTL tag? I'm not very clear on > that. > Let me know where I'm doing wrong. > > Regards, > Ashutosh > > > -----Original Message----- > From: Joe Germuska [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 23, 2005 4:51 PM > To: Karsten Krieg; Struts Users Mailing List > Subject: Re: Antwort: Clarrifications on Usage of logic tag library > > > At 11:40 AM +0100 2/23/05, Karsten Krieg wrote: > >Hi! > > > >It's been suggested to not continue using the Struts own tag libraries and > >instead move on to the JSTL. With them, I'd construct the following for > >your scenario: > > while this is a good general suggestion, neither tag library makes it > easy to deal with the class of an exception. I suppose technically > you could use bean properties to test against the string form of an > exceptions' class name: > <c:if test="${ex.class.name == 'java.lang.IllegalStateException'}">..</c:if> > > but you might simply find Struts' own declarative exception handling > to be a more straightforward way to deal with this... > > Joe > > > ><%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> > > > ><c:choose> > > <c:when test="${exception1}"> > > your content > > </c:when> > > <c:when test="${exception2}"> > > your content > > </c:when> > ></c:choose> > > > >You can nest the c:when and c:choose, so AND and OR constructs are > >possible. > > > >With regards > >Karsten Krieg > >intarsys consulting GmbH > >---------------------------------------- > >Fon +49 (0)721 3 84 79 - 28 > >Fax +49 (0)721 3 84 79 - 60 > >e-mail [EMAIL PROTECTED] > >http://www.intarsys.de > >---------------------------------------- > > > >"Ashutosh Satyam" <[EMAIL PROTECTED]> schrieb am 23.02.2005 11:19:48: > > > >> Hi, > >> Can you suggest how to use the logic tag library to achieve the > >> following scenario. > >> > >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > >> > >> In my Action class I expect few Exceptions to be thrown. Incase if > >> any exception > >> is throw it's always redirected to a common 'error.jsp' page. > >> > >> In this page I wanted to use 'logic' taglibrary to present a > >> different content in the > >> page based on the Exception thrown. > >> > >> Something like - > >> if( Exception1) { > >> some html contents > >> } else if(Exception2) { > >> some html contents > >> } else { > >> some html contents > >> } > >> > >> Also how do we achieve logical AND and logical OR condtion using > >> logic tag library > >> > >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > >> > >> I hope we can use the logic taglibrary in the scenario what I > >> pointed out. An example > >> for the same would suffice my requirement. > >> > >> Regards, > >> Ashutosh > >> > >> > > > > > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > -- > Joe Germuska > [EMAIL PROTECTED] > http://blog.germuska.com > "Narrow minds are weapons made for mass destruction" -The Ex -- Kris Schneider <mailto:[EMAIL PROTECTED]> D.O.Tech <http://www.dotech.com/> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]