之间有什么区别
<tiles:useAttribute ...>
和
<tiles:insertAttribute ...>
你能举个例子吗?
答案 0 :(得分:3)
请参阅http://tiles.apache.org/2.2/framework/tiles-jsp/tlddoc/tiles/insertAttribute.html和http://tiles.apache.org/2.2/framework/tiles-jsp/tlddoc/tiles/useAttribute.html。
useAttribute
声明包含该属性的变量。 insertAttribute
在响应中插入属性。它与
String id = attributeValue("theAttribute");
和
out.println(attributeValue("theAttribute"));
答案 1 :(得分:3)
谢谢@JB Nizet!
实际上我需要在jsp页面中使用这个tile属性。我找到了你所解释的差异和几乎相同的东西。但是,我想与那些在jsp页面上尝试它的人分享我的例子
myLayout.jsp
的代码段
<tiles:useAttribute name="my_title"/>
<c:if test="${not empty my_title}">
<tiles:insertAttribute name="my_title"/>
</c:if>
在某种意义上,useAttribute 会将“my_title”转换为变量,现在可以将其作为普通的jsp变量进行操作。这个新变量将携带tile定义提供的值。因此,如果变量为空或空白,则可以检查该变量,如果该变量不为空,则使用 insertAttribute
将该值输出到浏览器(响应)以下是样本图块定义:
<definition name="test" template="myLayout.jsp">
<put-attribute name="my_title" value="Web Blog" />
</definition>
享受!