You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/09/17 23:04:28 UTC
DO NOT REPLY [Bug 23228] New: -
JSP Error -- Unknown attribute type (String) for attribute
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23228>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23228
JSP Error -- Unknown attribute type (String) for attribute
Summary: JSP Error -- Unknown attribute type (String) for
attribute
Product: Tomcat 5
Version: 5.0.9
Platform: PC
OS/Version: Linux
Status: NEW
Severity: Blocker
Priority: Other
Component: Jasper
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: benjc-list@novisum.com
The following error occurs in a web app I'm working on, and it all works fine in
Tomcat 4. If it's a change in JSP syntax or libraries, I certainly can't find
it anywhere...
I looked on the net and found such things as:
http://www.google.com/url?sa=U&start=1&q=http://archives.real-time.com/pipermail/tomcat-devel/2003-February/046448.html&e=747
But I can't see anywhere that answers the problem, so I have to assume it's a
bug since Tomcat 4 works ... until I can find if it's a coding error that is new
in JSP 2.0 and Tomcat 5.
Here is the first line from one error:
/layout/search-body-layout.jsp(12,0) Unknown attribute type (String) for
attribute action.'
Here's the JSP that goes with it:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %>
<%@ taglib uri='/WEB-INF/tlds/AppTags.tld' prefix='app' %>
<nested:form action="search" method="Post">
And then the full stacktrace from another page...
org.apache.jasper.JasperException: /layout/main-layout.jsp(58,16) Unknown
attribute type (String) for attribute name.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:404)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:271)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:970)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:734)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1444)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2143)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2193)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:754)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1444)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2143)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2193)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:754)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1444)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2143)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2193)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2199)
org.apache.jasper.compiler.Node$Root.accept(Node.java:471)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2143)
org.apache.jasper.compiler.Validator.validate(Validator.java:1510)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:259)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:453)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1058)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:269)
org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:249)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:303)
fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor.processForwardConfig(LayoutRequestProcessor.java:37)
org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:502)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
And the code for it:
<logic:present name="searchResults">
<logic:notEmpty name="searchResults" property="message(fullQueryTime)">
<br>Query Time: <bean:write name="searchResults"
property="message(fullQueryTime)"/> ms <bean:write name="searchResults"
property="message(fullQueryTimeSeconds)"/> seconds
SQL Query Time: <bean:write name="searchResults"
property="message(queryTime)"/> ms <bean:write name="searchResults"
property="message(queryTimeSeconds)"/> seconds
</logic:notEmpty>
</logic:present>
It has the same JSP init tags as the previous example.