我的时区下午好。
我使用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>
这样就没有抛出异常。通过我描述的那些症状看起来在某些配置文件中可能存在问题,但我不确定。 有没有人可以帮助我??? 最好的祝福。 提前致谢
答案 0 :(得分:0)
输入应该是tile def,而不是JSP的直接链接。