在地址栏中直接调用使用了tiles:insert的页面jsp,这种情况下会抛出javax.servlet.jsp.JspException: Error - tag.getAsString : component context is not defined. Check tag syntax 或java.lang.NullPointerException
调用<tiles:getAsString name="title"/>时或调用<tiles:insert attribute="top" ></tiles:insert>时 异常
正确的设置是在struts-config.xml里配置
<action path="/index" type="org.apache.struts.actions.ForwardAction" parameter="***.layout"></action>
parameter=要设置tiles-defs.xml里的<definition的name。如果写成.jsp,也会抛出与直接访问.jsp一样的异常。
<tiles:insert attribute="top" ></tiles:insert>
对top里的内容<%@ %>和<% %>里的内容进行编译。与普通的.jsp是一样的。直接请求<definition name="index.layout"中的name属性也找不到连接。
也就是说使用了tile后,只能通过.do的方式访问definition标签里定义的页面。