也许是永远也搞不懂了的"bean:write"怪事

学习日记里有3个jsp文件,接受action送来的一个帖子列表,然后循环的用struts中<bean:write/>标记显示出来。

帖子中有一个在3个jsp文件中都有的属性名为"myLastUpdate",在文件:processGoal.jsp中一切正常,但在finishedGoal.jsp和quitedGoal.jsp中却在网站空间中报告帖子对象的一个myLastUpdate的getter方法抛出异常。而同样的文件在本地用Tomcat5.0正常。空间用的是resin2.*。

具体是这3个文件都有一段如下的代码在文件:processGoal.jsp中一切正常,但在finishedGoal.jsp和quitedGoal.jsp出问题:


...

      <td width = "10%" align="center">

        <bean:write name="anGoal" property="finishDate" scope="page" filter="false"/>

      </td>

 

      <td width = "10%" align="center">

        <bean:write name="anGoal" property="myLastUpdate" scope="page" filter="false"/>

      </td>

...

最后,实在找不到原因了,用了jstl中的<c:out/>标记来输出这个对象的"myLastUpdate"属性才全部正常。

如下所示:


...

      <td width = "10%" align="center">

        <bean:write name="anGoal" property="finishDate" scope="page" filter="false"/>

      </td>

 

      <td width = "10%" align="center">

        <c:out value="${anGoal.myLastUpdate}"/>

      </td>

...

这个问题实在是不应该,可就是出现了。也许是Struts中的<bean:write/>加上属性名myLastUpdate加上resin服务器这三者的偶然巧合出现了这个错误?如果有知道答案的朋友指点一下。

如果,你碰巧碰到这样的情况,不妨在jsp文件中改一下取得对象属性的方法,也许就解决了你磨破脑袋也找不到原因的问题。