Struts Tiles ActionError

时间:2012-01-12 15:48:01

标签: struts nullpointerexception tiles

我的时区下午好。

我使用Struts tile框架来构建Web应用程序,我面临一个非常奇怪的问题。 我没时间完成工作,如果我无法解决这个问题,我会放弃在这个项目中使用Tiles。 我的Tiles配置非常简单。 在我的struts-config.xml中,我插入以下代码:

<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" />

   <plug-in className="org.apache.struts.tiles.TilesPlugin" >
        <set-property property="definitions-config" value="/WEB-INF/tilesdefs.xml" />
        <set-property property="moduleAware" value="true" />
   </plug-in>

在tilesdefs.xml中我有这个简单的代码:

<component-definitions>
    <definition name="programarRutasTile" path="/programarRutas.jsp">
        <put name="menu" value="menu.jsp"/>
        <put name="tab" type="String" value="2"/>
    </definition>
</component-definitions>

在jsp“programarRutas.jsp”中我有三个Tiles代码行:

<tiles:insert  name="menu">
    <tiles:put name="tabSelected"><tiles:getAsString name="tab"/></tiles:put>
</tiles:insert>

menu.jsp是简单的html代码,它使用programarRutas.jsp(上面的代码)中传递的tabSelected属性。 我已经尝试运行所有menu.jsp页面注释并且错误仍然存​​在。 所以现在将解释错误: 当我运行应用程序并且ActionForm验证方法没有找到任何错误时,应用程序正常运行,如果ActionForm验证方法发现错误并填满ActionErrors数组,则应用程序抛出以下异常:

org.apache.struts.tiles.taglib.InsertTag.processName的

java.lang.NullPointerException ...

我在应用程序发现错误时可以运行的唯一方法是在programarRutas.jsp中注释Tiles行代码

//<tiles:insert  name="menu">
//  <tiles:put name="tabSelected"><tiles:getAsString name="tab"/></tiles:put>
//</tiles:insert>

这样就没有抛出异常。通过我描述的那些症状看起来在某些配置文件中可能存在问题,但我不确定。 有没有人可以帮助我??? 最好的祝福。 提前致谢

1 个答案:

答案 0 :(得分:0)

输入应该是tile def,而不是JSP的直接链接。