是不是xml文件里定义了<definition name = "test" path = "/layout.jsp">
那么在jsp 中就应该这样写:
<tiles:insert definition="test" flush="true">可总是提示Can't get definitions factory from context,这是什么原因??头都想破了

解决方案 »

  1.   

    这个是在资源文件里定义的。不是在别处。
    我曾经这么调用:
    <bean:message key="index.title"/>
    文件描述:
    struts-config.xml描述:
    <message-resources parameter="ApplicationResources"/>
    WEB-INF/classes下有文件:
    ApplicationResources_zh.properties
      

  2.   

    no
    不是这样的:
    常规的方式是在tiles-def.xml文件中定义definition 

      <definition name="examples.masterPage" path="/classicLayout.jsp">
        <put name="title" value="Tiles 1.1 Examples" />
        <put name="header" value="/header.jsp" />
        <put name="menu" value="/menuSummary.jsp" />
        <put name="footer" value="/footer.jsp" />
        <put name="body" value="/body.jsp" />
      </definition>其中classicLayout.jsp是定义的模版文件,put标签是这个definition向tiles传递的参数定义好tiles-def.xml之后,就可以在classicLayout.jsp文件中调用了
    如 <tiles:insert attribute="header" />等等最后要显示页面,需要再创建一个testTiles.jsp文件
    <tiles:insert definition="examples.masterPage" flush="true" />
    直接访问testTiles.jsp就可以了建议看一下:《jakarta struts编程》一书
    或者加我qq 26162536,欢迎讨论