我做了一定自定义的Tag,在jsp页面中使用。
=========================================================================
.....................
<tag>
<name>page</name>
<tag-class>jp.city.kyoto.kmir.business.utils.PageTag</tag-class>
<body-content>empty</body-content>
</tag>
=========================================================================Action中,将取得的"Kokyaku "类型的对象,设置到"request"中:
=========================================================================
Kokyaku p_kokyaku = new Kokyaku();
kokyaku = .......//取得Kokyaku
request.setAttribute("pager_request", p_kokyaku);
=========================================================================Tag中用到的类:PageTag中,需要将request中的"pager_request"取得后,进行类型转换,转换为"Kokyaku"类型
=========================================================================
(Kokyaku)(this.pageContext.getRequest().getAttribute("pager_request"));
=========================================================================问题:
按照上面的做法,在eclipse的tomcat第一次启动后(注意:是第一次),出现如下异常:
org.apache.jasper.JasperException: java.lang.ClassCastException:
jp.city.kyoto.kmir.business.entity.Kokyaku cannot be cast to jp.city.kyoto.kmir.business.entity.Kokyaku在不关闭tomcat,继续刷新页面的时候,页面正常显示了,没有异常的。
如果关闭tomcat,并重新启动tomcat的话,第一次进入页面就又会出现上述异常。我跟踪了在PageTag.java中和action中,定义和取得的"Kokyaku",发现完全一样,连地址都是一样的。跪谢各位高手,如何解决这个问题呢
不能转型成
jp.city.kyoto.kmir.business.entity.Kokyaku
奇怪了啊,这不是同一个类么?
一般情况来说你那样直接转是没问题的
1.可以到别人的机器上试试。
2.在自己机器上 另外项目试试看,比如Application。