Tiles - Spring MVC

时间:2012-06-20 21:37:58

标签: spring-mvc tiles2

之间有什么区别
<tiles:useAttribute ...>

<tiles:insertAttribute ...>

你能举个例子吗?

2 个答案:

答案 0 :(得分:3)

请参阅http://tiles.apache.org/2.2/framework/tiles-jsp/tlddoc/tiles/insertAttribute.htmlhttp://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>

享受!