You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Jonathan Holloway <jo...@eudoramail.com> on 2003/04/21 19:04:39 UTC

Nested Define Bug?

I still seem to be having problems with the nested:define bit and accessing a scripting variable defined with it.

when I specify

<nested:define id="selectbananaid" 
	       name="BananaForm" 				       property="bananaId"/>

and

<html:radio idName="BananaForm"
            property="chosenBananaId" 
            value="<%=selectbananaid%>"/>								  
I get the following error:

[ServletException in:/myassessments/assessmentlivecontent.jsp] Unable to compile class for JSP An error occurred at line: 124 in the jsp file: /myassessments/assessmentlivecontent.jsp Generated servlet error: [javac] Compiling 1 source file I:\tomcat\jakarta-tomcat-4.1.18-LE-jdk14\work\Standalone\localhost\TWEEKStudent\myassessments\assessmentlivecontent_jsp.java:276: cannot resolve symbol symbol : method setValue (java.lang.Object) location: class org.apache.struts.taglib.html.RadioTag _jspx_th_html_radio_0.setValue(tempselectoptionid ); ^ 1 error ' 

ChosenBananaId is an int and so is bananaId so this might be the problem.  However when i change the above tags to be of type String I get a class cast exception in the JSP when it is compiled resulting in it just displaying null.

<nested:define id="selectbananaid" 
	       name="BananaForm" 				       property="bananaId"
               type="java.lang.String"/>

This was discussed in bug 18066 in struts-dev but I think it got resolved.  Does that mean its fixed in Struts RC 1.1 (which I'm now using).  I'm having real problems with this.  Exception enclosed and jsp code:

/* ----  nested:define ---- */
                      org.apache.struts.taglib.nested.bean.NestedDefineTag _jspx_th_nested_define_0 = (org.apache.struts.taglib.nested.bean.NestedDefineTag) _jspx_tagPool_nested_define_type_property_name_id.get(org.apache.struts.taglib.nested.bean.NestedDefineTag.class);
                      _jspx_th_nested_define_0.setPageContext(pageContext);
                      _jspx_th_nested_define_0.setParent(_jspx_th_nested_iterate_0);
                      _jspx_th_nested_define_0.setId("selectbananaid");
                      _jspx_th_nested_define_0.setName("BananaForm");
                      _jspx_th_nested_define_0.setProperty("bananaId");
                      _jspx_th_nested_define_0.setType("java.lang.String");
                      int _jspx_eval_nested_define_0 = _jspx_th_nested_define_0.doStartTag();
                      if (_jspx_th_nested_define_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
                        return;
                      _jspx_tagPool_nested_define_type_property_name_id.reuse(_jspx_th_nested_define_0);
                      java.lang.String tempselectoptionid = null;
                      tempselectoptionid = (java.lang.String) pageContext.findAttribute("selectbananaid");


java.lang.ClassCastException
	at org.apache.jsp.assessmentlivecontent_jsp._jspService(assessmentlivecontent_jsp.java:269)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
	at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:118)
	at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:161)
	at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:702)
	at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:817)
	at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:466)
	at org.apache.jsp.blanktemplate_jsp._jspx_meth_tiles_insert_1(blanktemplate_jsp.java:114)
	at org.apache.jsp.blanktemplate_jsp._jspService(blanktemplate_jsp.java:72)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
	at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:118)
	at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:161)
	at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:702)
	at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:817)
	at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:466)
	at org.apache.jsp.assessmentlive_jsp._jspx_meth_tiles_insert_0(assessmentlive_jsp.java:93)
	at org.apache.jsp.assessmentlive_jsp._jspService(assessmentlive_jsp.java:56)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1058)
	at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:269)
	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:451)
	at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:312)
	at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:502)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
	at java.lang.Thread.run(Thread.java:536)




Need a new email address that people can remember
Check out the new EudoraMail at
http://www.eudoramail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org