DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=28817>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=28817 ClassCastException in org.apache.struts.taglib.TagUtils.java Summary: ClassCastException in org.apache.struts.taglib.TagUtils.java Product: Struts Version: Nightly Build Platform: Other OS/Version: Linux Status: NEW Severity: Major Priority: Other Component: Utilities AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hi, I verified this problem with nightlybuild version jakarta-struts-20040506.tar.gz are.owm.widgets.search.filter_jsp threw exception java.lang.ClassCastException at org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1211) at org.apache.struts.taglib.TagUtils.message(TagUtils.java:1082) at org.apache.struts.taglib.TagUtils.message(TagUtils.java:1057) at org.apache.struts.taglib.bean.WriteTag.retrieveFormatString(WriteTag.java:256) at org.apache.struts.taglib.bean.WriteTag.formatValue(WriteTag.java:319) at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:234) This happens in TagUtils.retrieveMessageResources() if (resources == null) { resources = (MessageResources) pageContext.getAttribute( bundle, PageContext.REQUEST_SCOPE); } When Struts tries to retrieve an INT format string (from a default bundle) to display an Integer. This condition may be the result of the way my JSP page is constructed. Basically, I have two web application with each bundling and loading the Struts library in its own class loader. My JSP page in Application X gets a RequestDispatcher from application Y and does an Include. This may result in the HttpServletRequest containing a MessageResources object loaded in application X in the request scope, and passed along to application Y (due to the Include). Since the MessageResources class is loaded in each of the application classloader in X and Y, the casting results in ClassCastException. At the moment, I am stuck. Could this be fixed by catching the ClassCastException inside TagUtils.retrieveMessageResource()? if (resources == null) { try { resources = (MessageResources) pageContext.getAttribute( bundle, PageContext.REQUEST_SCOPE); } catch (ClassCastException e) {} } Thanks! -- Rick --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]