I tried to evaluate string.toUpperCase() in the
following jsp,
<%@ taglib prefix="jx"
uri="http://java.sun.com/jsptl/ea/jx" %>
<html>
<head>
<title>JSPTL</title>
</head>
<body bgcolor="#FFFFFF">
<%
String c = "bbbbbbb";
request.setAttribute("b", c);
%>
<%-- <jx.expr value="$b"/> works fine --%>
<jx:expr value="$b.toUpperCase()"/>
</body>
</html>
And got translation error,
javax.servlet.ServletException: Unable to parse the
expression: Lexical error at line 1, column 14.
Encountered: "(" (40), after : ""
at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:457)
at org.apache.jsp.If$jsp._jspService(If$jsp.java:104)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:518)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Thread.java:484)
I notice you user
uri=http://java.sun.com/jstl/ea/core. I don't know if
that is the problem. What is ea/core? Where do I get
it?
Thanks!
ct
--- Fernando Esteban Barril Otero
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> Take a look at JSTL Expression Language Support.
> You could make things like:
>
> <%@ taglib prefix="c"
> uri=http://java.sun.com/jstl/ea/core %>
>
> <c:expr value="$name.toLowerCase()"/>
>
> to print the value of name in lower case, assuming
> that you
> have a string "name" attribute in scope.
>
> This kind of expression you can use with the
> conditional tags,
> like <if>:
>
> <c:if test="$collection.size() == 0"> or <c:if
> test="$collection.isEmpty()">
> ...
> </c:if>
>
> and in many others. With the expression language
> support
> you can invoke any method of your objects.
>
> In my tests, the weakness of the JSTL is its
> performance.
>
> Fernando
>
>
> ----- Original Message -----
> From: "c tang" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Friday, January 18, 2002 12:07 PM
> Subject: jsptl help ???
>
> > Hi,
> >
> > I looked at jsptl and it is not obvious how to do
> what
> > you suggested about without using scriptlet.
> Could
> > you help me out?
> >
> > ct
>
__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/
--
To unsubscribe: <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>