java - 在 Apache Tiles 中使用核心库设置变量

标签 java jsp jstl tiles apache-tiles

我有一个模板 JSP 页面:

<html>
<head></head>
<body>
    <c:set var="temp" scope="request" value="" />
    <tile:insertAttribute name="header"/>
    <tile:insertAttribute name="body"/>
    <tile:insertAttribute name="footer"/>
</body>
</html>
我的模板 XML 如下:
<tiles-definitions>

    <definition name="home" extends="template">
        <put-attribute name="temp" value="home" />
        <put-attribute name="body" value="/WEB-INF/pages/home.jsp" />  
    </definition>

    <definition name="template" template="/WEB-INF/templates/template.jsp">
        <put-attribute name="temp" />
        <put-attribute name="header" value="/WEB-INF/pages/includes/header.jsp" />
        <put-attribute name="body"  />
        <put-attribute name="footer" value="/WEB-INF/pages/includes/footer.jsp" />
    </definition>
<tiles-definitions>
我的问题:
当我设置了 "home"值在 "temp"家庭定义中的名称,我想得到这个 "home"页眉页和页脚页中的值所以我做 ${temp}但我还没有找到 "home"值(value)。
这是可能的?
如果是,那么如何?

最佳答案

您可以使用 tiles将属性打印到 JSP 并设置为请求范围变量或使用 tile:useAttribute 创建请求范围变量.例如在第一种情况下你可以做

<html>
<head></head>
<body>
    <c:set var="temp" scope="request"><tile:getAsString name="temp"/></c:set>
    <tile:insertAttribute name="header"/>
    <tile:insertAttribute name="body"/>
    <tile:insertAttribute name="footer"/>
</body>
</html>

关于java - 在 Apache Tiles 中使用核心库设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29728004/

相关文章:

java - 我如何在 jsp/jSTL 中使用选定值进行多选?

java - Spring JSTL 日期格式为 DD-MM-YYYY

java - apache上传文件大小覆盖org.apache.commons.fileupload.FileUploadBase

java - 如何找出在我的 servlet 中按下了哪个 HTML 按钮?

java - Jetty设置Servlet与JSP页面通信

javascript - 无法在包含的jsp中获取jSTL变量

java - TreeSet/包含方法

java - 如何使用 Eclipse 的数据工具平台设置登录超时?

java - 如何访问同一包中主类中的类

java - 为不同的员工更新 managerId