• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Devaka Cooray
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Jeanne Boyarsky
  • Tim Cooke
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Mikalai Zaikin
  • Carey Brown
Bartenders:

Changes in Taglibs when tomcat is migrated from 3.22 to 4.1

 
Ranch Hand
Posts: 220
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi ,
iam running a web application running on tomcat3.22 with jdk1.3.1. This has some custom taglibs too..
i migrated it to tomcat4.1 with jdk 1.4.

i am facing errors which seems to be b/c of the custom tags.

Are there any changes that need to be done in Taglibs,when tomcat is migrated from 3.22 to tomcat4.1 ?

i compared the web.xml used by tomcat4.1 and also the api for taglibs supported by tomcat4.1 . i didnt see any major changes or may be i missed out something .

Could any one pls respond?

Thanks,
Rajendar
 
Ranch Hand
Posts: 63
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi

I donot feel that because of taglib u re facing problem
Can u put the error that u re getting and the web.xml

Rgds
Kunal
 
Rajendar Goud
Ranch Hand
Posts: 220
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Kunal,
looking at the error, i too dont think its taglib problem . but some how i think its related to it.

the error is ArrayIndexOutOfBoundsException only.exception looks as follows

java.lang.ArrayIndexOutOfBoundsException: 10 >= 10
at java.util.Vector.elementAt(Vector.java:432)
at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:622)
at com.db.ta.services.taglib.table.CellTag.setVariables(CellTag.java:47)
at com.db.ta.services.taglib.table.CellTag.doStartTag(CellTag.java:37)
at org.apache.jsp.ETListContent_jsp._jspService(ETListContent_jsp.java:238)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
101781 [http-8080-Processor5] ERROR D1D1EC9BA674705C421C0C95681041F4 - ErrorToUser:
java.lang.ArrayIndexOutOfBoundsException: 10 >= 10
at java.util.Vector.elementAt(Vector.java:432)
at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:622)
at com.db.ta.services.taglib.table.CellTag.setVariables(CellTag.java:47)
at com.db.ta.services.taglib.table.CellTag.doStartTag(CellTag.java:37)
at org.apache.jsp.ETListContent_jsp._jspService(ETListContent_jsp.java:238)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)



<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Giselle Larcombe (Deutsche Bank) -->
<!--XML file for NT-Integration-->
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<display-name>
Display
</display-name>
<description>
some desc
</description>
<!-- Servlet to activate Log4J -->
<servlet>
<servlet-name>com.db.ta.services.log.log4JInit</servlet-name>
<servlet-class>com.db.ta.services.log.Log4JInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>WEB-INF/classes/log4j.lcf</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Servlet to activate Status Handler -->
<servlet>
<servlet-name>some servlet</servlet-name>
<servlet-class>some servlet class</servlet-class>
<init-param>
<param-name>status-file</param-name>
<param-value>WEB-INF/data/StatusDescription.csv</param-value>
</init-param>
<init-param>
<param-name>action-file</param-name>
<param-value>WEB-INF/data/Action.csv</param-value>
</init-param>
<init-param>
<param-name>permission-file</param-name>
<param-value>WEB-INF/data/Permissions.csv</param-value>
</init-param>
<init-param>
<param-name>with-database</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>active</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>6</load-on-startup>
</servlet>
<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>properties/ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>
public/jsp/index.jsp
</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>
xsl.tld
</taglib-uri>
<taglib-location>
/WEB-INF/tlds/xsl.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
log-taglib.tld
</taglib-uri>
<taglib-location>
/WEB-INF/tlds/log-taglib.tld
</taglib-location>
</taglib>
<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/WEB-INF/tlds/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/WEB-INF/tlds/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/WEB-INF/tlds/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location>
</taglib>
</web-app>





Thanks
Rajendar
 
Rajendar Goud
Ranch Hand
Posts: 220
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am currently testing the above thing on JDK1.5 with Tomcat4.1.31 .
Do i need to have the JSTL1.1?tomcat4.1.31 comes along with JSTL i guess!

iam invoking the custom tag libraries as usual and its running fine for few records and then i get the above error..

<%@ taglib uri="xsl.tld" prefix="views" %>

and the code

<views:jspTable model="<%=ETList.getSelectedListView().getModel() %>" >
<views:headingOpen><tr></views:headingOpen>
<views:headingCell>
<% if(column.intValue()==0){%>
<%="<th class=\"tblHide\" height=\"1\" valign=\"top\"> </th>"%>
<% }else{%>
<%="<th class=\"tblHide\" height=\"1\" valign=\"top\">" + heading + "</th>"%><% } %>
</views:headingCell>
<!-- end: the header -->
<!-- begin: the rows -->
<views:rows>
<views:rowOpen><tr></views:rowOpen>
<views:cell>
some logic...
</views:cell>
</views:rows>
<!-- end: the rows -->
</views:jspTable>

i guess theres no problem with the above tags.. why its throwing above exception is not understandable ..

can any one check it out pls?


Thanks,
Raj
 
Rajendar Goud
Ranch Hand
Posts: 220
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi ,
i narrowed down the code and observed that the error is coming from the
cellTag .
here is the code used by CellTag

public CellTag()
{
sbOut = new StringBuffer();
}

public int doStartTag()
throws JspException
{
parent = (RowsTag)TagSupport.findAncestorWithClass(this, some.class);
if(parent == null)
{
throw new JspTagException("CellTag must be enclosed in a RowsTag");
} else
{
sbOut.append(parent.getRowOpen());
setVariables();
return 2;
}
}

private void setVariables()
{
Object valObj = null;
if (parent!=null){
valObj = parent.getModel().getValueAt(parent.getRow(), col);
}
if(valObj == null)
valObj = "NULL";
pageContext.setAttribute("value", valObj);
pageContext.setAttribute("column", new Integer(col));
}

public int doAfterBody()
throws JspException
{
if(bodyContent != null)
{
String bodyTag = bodyContent.getString();
sbOut.append(bodyTag);
bodyContent.clearBody();
if(++col < parent.getModel().getColumnCount())
{
setVariables();
return 2;
} else
{
sbOut.append(parent.getRowClose());
return 0;
}
}
else
return SKIP_BODY;
}

public int doEndTag()
throws JspException
{
try
{
if(bodyContent != null)
bodyContent.getEnclosingWriter().write(sbOut.toString());
}
catch(IOException ex)
{
throw new JspException("IO Error: " + ex.getMessage());
}
return 6;
}

private int col;
private StringBuffer sbOut;
private RowsTag parent;


iam getting the indexoutofbounds exception in the setVariables() method of doStartTag.

whats wrong with that method?

b/c as i remove the cellTag ,then iam getting the jsp page compiled and is run properly.

any help appreciated

Thanks
Raj
not able to unders
 
Let nothing stop you! Not even this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic