You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Matthias Bauer <Ma...@livinglogic.de> on 2001/01/11 12:10:28 UTC

bean:parameter error?

Hi all,

I am quite new to struts, so I am not sure, if am doing something wrong or if I
fund a struts bug. Here is my code that does not work:

> <logic:present parameter="test">
> 	<bean:parameter id="testBean" name="test" multiple="true"/>
> </logic:present>

This is the result I get:

> Location: /mystruts-example/index.jsp
> 
> Internal Servlet Error:
> 
> org.apache.jasper.JasperException: Unable to compile class for JSP/opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:155: Missing term.
>                               _jspx_th_bean_parameter_0.setName("test");
>                                                                         ^
> /opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:156: ']' expected.
>                               [Ljava.lang.String; testBean = null;
>                                                 ^
> /opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:159: Missing term.
>                               testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                                           ^
> /opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:159: ']' expected.
>                               testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                                                             ^
> /opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:164: Missing term.
>                               testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                                           ^
> /opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:164: ']' expected.
>                               testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                                                             ^
> /opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:168: Missing term.
>                           testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                                       ^
> /opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java:168: ']' expected.
>                           testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                                                         ^
> 8 errors
> 
>         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:254)
>         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(JspServlet.java:152)
>         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:164)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
>         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:797)
>         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
>         at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
>         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
>         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
>         at java.lang.Thread.run(Thread.java:484)


This is the relevant code snippet in
/opt/jakarta-tomcat-3.2.1/work/localhost_8080%2Fmystruts-example/_0002findex_0002ejspindex_jsp_11.java
(the error line is marked with ???????):

>               // begin [file="/home/hias/hias/mystruts-example/index.jsp";from=(12,0);to=(12,32)]
>                   /* ----  logic:present ---- */
>                   org.apache.struts.taglib.logic.PresentTag _jspx_th_logic_present_0 = new org.apache.struts.taglib.logic.PresentTag();
>                   _jspx_th_logic_present_0.setPageContext(pageContext);
>                   _jspx_th_logic_present_0.setParent(_jspx_th_html_html_0);
>                   _jspx_th_logic_present_0.setParameter("test");
>                   try {
>                       int _jspx_eval_logic_present_0 = _jspx_th_logic_present_0.doStartTag();
>                       if (_jspx_eval_logic_present_0 == BodyTag.EVAL_BODY_TAG)
>                           throw new JspTagException("Since tag handler class org.apache.struts.taglib.logic.PresentTag does not implement BodyTag, it can't return BodyTag.EVAL_BODY_TAG");
>                       if (_jspx_eval_logic_present_0 != Tag.SKIP_BODY) {
>                           do {
>                           // end
>                           // HTML // begin [file="/home/hias/hias/mystruts-example/index.jsp";from=(12,32);to=(13,1)]
>                               out.write("\r\n\t");
>                           // end
>                           // begin [file="/home/hias/hias/mystruts-example/index.jsp";from=(13,1);to=(13,60)]
>                               /* ----  bean:parameter ---- */
>                               org.apache.struts.taglib.bean.ParameterTag _jspx_th_bean_parameter_0 = new org.apache.struts.taglib.bean.ParameterTag();
>                               _jspx_th_bean_parameter_0.setPageContext(pageContext);
>                               _jspx_th_bean_parameter_0.setParent(_jspx_th_logic_present_0);
>                               _jspx_th_bean_parameter_0.setId("testBean");
>                               _jspx_th_bean_parameter_0.setMultiple("true");
>                               _jspx_th_bean_parameter_0.setName("test");
> ????????????????????????????????????????????????????????????????????
>                               [Ljava.lang.String; testBean = null;
>                               try {
>                               int _jspx_eval_bean_parameter_0 = _jspx_th_bean_parameter_0.doStartTag();
>                               testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                               if (_jspx_eval_bean_parameter_0 == BodyTag.EVAL_BODY_TAG)
>                               throw new JspTagException("Since tag handler class org.apache.struts.taglib.bean.ParameterTag does not implement BodyTag, it can't return BodyTag.EVAL_BODY_TAG");
>                           if (_jspx_eval_bean_parameter_0 != Tag.SKIP_BODY) {
>                               do {
>                               testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                           // end
>                           // begin [file="/home/hias/hias/mystruts-example/index.jsp";from=(13,1);to=(13,60)]
>                           } while (false);
>                           testBean = ([Ljava.lang.String;) pageContext.findAttribute("testBean");
>                       }
>                       if (_jspx_th_bean_parameter_0.doEndTag() == Tag.SKIP_PAGE)
>                           return;
>                   } finally {
>                       _jspx_th_bean_parameter_0.release();
>                   }
>               // end



If I leave away the "multiple"-Attribute in the tag <bean:parameter> everything
is ok.

I am using the nightly build from 2001-01-09.

Thanks for your help.

--- Matthias

Matthias Bauer +++ mba@livinglogic.de +++ LivingLogic AG +++ www.livinglogic.de