[异常]在Tiles中我用Definition in jsp page方式时,用extends时异常,同志们帮看看,谢了!

iStringTheory 2004-02-20 02:22:03
据项目需求:我需要在jsp程序中动态定义Tiles的definition.
经过测试当我不使用extends或者<tiles:put name="body" value="strongpp.wangshang.body" />
这样的转到别一个definition(如:strongpp.wangshang.body)时程序正常运行。或者我使用tiles-defs.xml
这样的配置文件定义时,程序都是正常运行。

使用了extends和<tiles:put name="body" value="strongpp.wangshang.body" />的程序及配置如下:
我的definition的JSP程序如下:
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>

<tiles:definition id="strongpp.portal.masterPage" page="/layouts/classicLayout.jsp" >
<tiles:put name="titles" value="Tiles 1.1 Examples" />
<tiles:put name="header" value="/portal/wangshang/common/header.jsp" />
<tiles:put name="footer" value="/portal/wangshang/common/footer.jsp" />
<tiles:put name="body" value="/portal/wangshang/common/body.jsp" />
</tiles:definition>

<tiles:definition extends="strongpp.portal.masterPage" id="strongpp.wangshang.mainLayout">
<tiles:put name="titles" value="12345网上受理" />
<tiles:put name="header" value="/portal/wangshang/common/header.jsp" />
<tiles:put name="body" value="strongpp.wangshang.body" />
<tiles:put name="footer" value="/portal/wangshang/common/footer.jsp" />
</tiles:definition>

<tiles:definition controllerUrl="/portal/myPortal.do" id="strongpp.wangshang.body" page="/layouts/cloumslayout.jsp" >
<tiles:put name="numCols" value="2" />
<tiles:putList name="list0">
<tiles:add value="/portal/wangshang/reXianZaiBao.jsp" />
<tiles:add value="/portal/wangshang/shouLi.jsp" />
<tiles:add value="/portal/wangshang/downloads.jsp" />
</tiles:putList>
<tiles:putList name="labels0">
<tiles:add value="热线摘报" />
<tiles:add value="网上受理" />
<tiles:add value="下载中心" />
</tiles:putList>
</tiles:definition>

使用的JSP程序index.jsp如下所示:
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ include file="/WEB-INF/definitions/definition.jsp"%>
<html>
<head>
<title>
index2
</title>
</head>
<body bgcolor="#ffffff">
<tiles:insert beanName="strongpp.wangshang.body" beanScope="request"/>
</body>
</html>

异常:
javax.servlet.jsp.JspException: Can't get definitions factory from context.

at org.apache.struts.taglib.tiles.util.TagUtils.getComponentDefinition(TagUtils.java:350)

at org.apache.struts.taglib.tiles.DefinitionTag.doStartTag(DefinitionTag.java:261)

at jsp_servlet.__index._jspService(__index.java:322)

at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)

at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)

at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)

at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)

at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)

at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)

at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)

at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

>
...全文
206 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
孬毛毛 2004-03-15
  • 打赏
  • 举报
回复
呵呵,知道了~~在struts.conf里加入:

<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
</plug-in>
孬毛毛 2004-03-15
  • 打赏
  • 举报
回复
呵呵~~我的出错异常跟你一样~~顶一下~~~:)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧