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
&nbsp;&nbsp;&nbsp;&nbsp;  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.