You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Tim Moore <tm...@blackboard.com> on 2001/05/01 00:27:52 UTC

Components problem: Unable to convert a String to java.lang.Objec t for attribute content

I'm trying to figure out the Components Library extension to Struts.  I've
got a simple JSP:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"     %>
<%@ taglib uri="/WEB-INF/components.tld"  prefix="template" %>

<html:html>
  <head>
    <title>Content Form</title>
  </head>

  <body bgcolor="white">

    <html:errors/>

    <html:form name="testForm" action="saveContent.do"
               type="blackboard.presentation.common.TestForm">

      <template:insert template="/contentForm.jsp">
        <template:put name="label"    content="Text:"       direct="true"/>
        <template:put name="property" content="contentForm" direct="true"/>
      </template:insert>

      <table border="0" width="100%" cellpadding="5" cellspacing="0">
        <tr>
          <td width="10" align="left" valign="top"><img
src="/images/spacer.gif" alt="" width="10" height="1" border="0"></td>

          <td align="right"><html:cancel/> <html:submit/></td>
        </tr>
      </table>
    </html:form>
  </body>
</html:html>

When I try to hit the page, I get this error:

Error: 500
Location: /sleepyweasel/content.jsp
Internal Servlet Error:
org.apache.jasper.compiler.CompileException:
D:\jakarta-tomcat-3.2.1\webapps\sleepyweasel\content.jsp(16,8) Unable to
convert a String to java.lang.Object for attribute content
	at
org.apache.jasper.compiler.TagBeginGenerator.convertString(TagBeginGenerator
.java:271)
	at
org.apache.jasper.compiler.TagBeginGenerator.generateSetters(Compiled Code)
	at
org.apache.jasper.compiler.TagBeginGenerator.generateServiceMethodStatements
(TagBeginGenerator.java:291)
	at
org.apache.jasper.compiler.TagBeginGenerator.generate(TagBeginGenerator.java
:360)
	at
org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.generate(C
ompiled Code)
	at
org.apache.jasper.compiler.JspParseEventListener.generateAll(Compiled Code)
	at
org.apache.jasper.compiler.JspParseEventListener.endPageProcessing(JspParseE
ventListener.java:175)
	at org.apache.jasper.compiler.Compiler.compile(Compiled Code)
	at
org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:462)
	at
org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
	at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:433)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspSe
rvlet.java:152)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:164)
	at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
	at org.apache.jasper.servlet.JspServlet.service(Compiled Code)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
	at org.apache.tomcat.core.Handler.service(Handler.java:286)
	at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
	at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
	at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
	at org.apache.tomcat.service.TcpWorkerThread.runIt(Compiled Code)
	at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(Compiled
Code)
	at java.lang.Thread.run(Thread.java:479)

Can Cedric or anyone shed some light?  My page seems straightforward enough,
and it seemed to work OK with standard Struts templates, but I need to use
some advanced features in the contentForm.jsp that require the use of the
Components Library.

Thanks!
-- 
Tim Moore / Blackboard Inc. / Software Engineer
1899 L Street, NW/ 5th Floor / Washington, DC 20036
Phone 202-463-4860 ext. 258 / Fax 202-463-4863


Re: Components problem: Unable to convert a String to java.lang.Object for attribute content

Posted by Cedric Dumoulin <ce...@lifl.fr>.
  Hi Tim,

  Which web server do you use ? I have check a similar example as yours on my
web server (tomcat 3.2.1), and it works fine with latest Components
distribution.

  I have already encountered the error message "Unable to convert a String to
java.lang.Object ..." on server like weblogic 5.xx. A solution is to remove the
method "void setContent( Object value )" method in class
taglib.commponents.PutTag.java and recompile Components. Using "ant" and the
provided "build.xml" file should work if you set "build.properties"
appropriately. Contact me in case of trouble.

  Cedric


Tim Moore wrote:

> I'm trying to figure out the Components Library extension to Struts.  I've
> got a simple JSP:
>
> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"     %>
> <%@ taglib uri="/WEB-INF/components.tld"  prefix="template" %>
>
> <html:html>
>   <head>
>     <title>Content Form</title>
>   </head>
>
>   <body bgcolor="white">
>
>     <html:errors/>
>
>     <html:form name="testForm" action="saveContent.do"
>                type="blackboard.presentation.common.TestForm">
>
>       <template:insert template="/contentForm.jsp">
>         <template:put name="label"    content="Text:"       direct="true"/>
>         <template:put name="property" content="contentForm" direct="true"/>
>       </template:insert>
>
>       <table border="0" width="100%" cellpadding="5" cellspacing="0">
>         <tr>
>           <td width="10" align="left" valign="top"><img
> src="/images/spacer.gif" alt="" width="10" height="1" border="0"></td>
>
>           <td align="right"><html:cancel/> <html:submit/></td>
>         </tr>
>       </table>
>     </html:form>
>   </body>
> </html:html>
>
> When I try to hit the page, I get this error:
>
> Error: 500
> Location: /sleepyweasel/content.jsp
> Internal Servlet Error:
> org.apache.jasper.compiler.CompileException:
> D:\jakarta-tomcat-3.2.1\webapps\sleepyweasel\content.jsp(16,8) Unable to
> convert a String to java.lang.Object for attribute content
>         at
> org.apache.jasper.compiler.TagBeginGenerator.convertString(TagBeginGenerator
> .java:271)
>         at
> org.apache.jasper.compiler.TagBeginGenerator.generateSetters(Compiled Code)
>         at
> org.apache.jasper.compiler.TagBeginGenerator.generateServiceMethodStatements
> (TagBeginGenerator.java:291)
>         at
> org.apache.jasper.compiler.TagBeginGenerator.generate(TagBeginGenerator.java
> :360)
>         at
> org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.generate(C
> ompiled Code)
>         at
> org.apache.jasper.compiler.JspParseEventListener.generateAll(Compiled Code)
>         at
> org.apache.jasper.compiler.JspParseEventListener.endPageProcessing(JspParseE
> ventListener.java:175)
>         at org.apache.jasper.compiler.Compiler.compile(Compiled Code)
>         at
> org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:462)
>         at
> org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
>         at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:433)
>         at
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspSe
> rvlet.java:152)
>         at
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
> va:164)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
>         at org.apache.jasper.servlet.JspServlet.service(Compiled Code)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
> org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
>         at org.apache.tomcat.core.Handler.service(Handler.java:286)
>         at
> org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
>         at
> org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
> 7)
>         at
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
>         at
> org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
> onnectionHandler.java:210)
>         at org.apache.tomcat.service.TcpWorkerThread.runIt(Compiled Code)
>         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(Compiled
> Code)
>         at java.lang.Thread.run(Thread.java:479)
>
> Can Cedric or anyone shed some light?  My page seems straightforward enough,
> and it seemed to work OK with standard Struts templates, but I need to use
> some advanced features in the contentForm.jsp that require the use of the
> Components Library.
>
> Thanks!
> --
> Tim Moore / Blackboard Inc. / Software Engineer
> 1899 L Street, NW/ 5th Floor / Washington, DC 20036
> Phone 202-463-4860 ext. 258 / Fax 202-463-4863