Hi all,

I already posted this message once. Can somebody please comment on it? Am I
doing something wrong in my code or is this a known bug in the nightly build
version I am using? Thanks for any comments.

--- Matthias


Original message:

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 +++ [EMAIL PROTECTED] +++ LivingLogic AG +++ www.livinglogic.de

Reply via email to