Opa Pessoal beleza?
Estou com uma duvida em implementar uma function TLD que recebe um param
Essa function é simples, recebe um nome e mostra ele no console.
Meu método:
package foo;
public class PrintName {
public static String getStart(String name){
return name;
}
}
TLD
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2e.xsde/web-jsptagLibrary_2_0"
version="2.0">
<tlib-version>1.2</tlib-version>
<uri>PrintLibrary</uri>
<function>
<name>printName</name>
<function-class>
foo.PrintName
</function-class>
<function-signature>
java.lang.String getStart(java.lang.String)
</function-signature>
</function>
</taglib>
JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib prefix="p" uri="/WEB-INF/tld/PrintLibrary.tld" %>
<html>
<body>
${p:printName(${param.name})}
</body>
</html>
org.apache.jasper.JasperException: An exception occurred processing JSP page /PrintTest.jsp at line 6
3: <%@taglib prefix="p" uri="/WEB-INF/tld/PrintLibrary.tld" %>
4: <html>
5: <body>
6: ${p:printName((String) ${param.name})}
7: </body>
8: </html>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.el.ELException: Error Parsing: ${p:printName((String) ${param.name}
org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:125)
org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:150)
org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:194)
org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:934)
org.apache.jsp.PrintTest_jsp._jspService(PrintTest_jsp.java:69)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
org.apache.el.parser.ParseException: Encountered " <IDENTIFIER> "$ "" at line 1, column 24.
Was expecting one of:
"." ...
")" ...
"[" ...
"," ...
">" ...
"gt" ...
"<" ...
"lt" ...
">=" ...
"ge" ...
"<=" ...
"le" ...
"==" ...
"eq" ...
"!=" ...
"ne" ...
"&&" ...
"and" ...
"||" ...
"or" ...
"*" ...
"+" ...
"-" ...
"/" ...
"div" ...
"%" ...
"mod" ...
org.apache.el.parser.ELParser.generateParseException(ELParser.java:2142)
org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:2024)
org.apache.el.parser.ELParser.Function(ELParser.java:1207)
org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1114)
org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1016)
org.apache.el.parser.ELParser.Value(ELParser.java:965)
org.apache.el.parser.ELParser.Unary(ELParser.java:947)
org.apache.el.parser.ELParser.Multiplication(ELParser.java:711)
org.apache.el.parser.ELParser.Math(ELParser.java:631)
org.apache.el.parser.ELParser.Compare(ELParser.java:443)
org.apache.el.parser.ELParser.Equality(ELParser.java:337)
org.apache.el.parser.ELParser.And(ELParser.java:281)
org.apache.el.parser.ELParser.Or(ELParser.java:225)
org.apache.el.parser.ELParser.Choice(ELParser.java:182)
org.apache.el.parser.ELParser.Expression(ELParser.java:174)
org.apache.el.parser.ELParser.DynamicExpression(ELParser.java:146)
org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:43)
org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:93)
org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:150)
org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:194)
org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:934)
org.apache.jsp.PrintTest_jsp._jspService(PrintTest_jsp.java:69)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.
Obrigado desde já;