我在我的网络应用程序中使用Tiles。我在tile中使用了标准布局(standard.jsp)。在standard.jsp之上有很多包括标签库等。
我们来做一个简化的例子。
standard.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/includes/include.jsp" %>
<html>
<head>
<tiles:insertAttribute name="head" flush="false"/>
</head>
<body>
<tiles:insertAttribute name="body" flush="false"/>
</body>
</html>
body.jsp:
<div id="body-div">
<p>Hello, <c:out value="${forname}" />!</p>
</div>
打印:
Hello, !
在瓷砖中我想使用标签,但它不起作用。它只有在我将tile添加到tile-jsp时才有效。
body.jsp包括:
<%@ include file="/WEB-INF/jsp/includes/include.jsp" %>
<div id="body-div">
<p>Hello, <c:out value="${forname}" />!</p>
</div>
打印:
Hello, John!
有更好的方法可以做到这一点,还是我必须为所使用的每个jsp添加所有包含?
答案 0 :(得分:1)
您不需要在每个图块中都包含所有包含,但每个图块中使用的标记库必须特别包含在使用图块中。
例如:
在您的示例中,使用C JSTL库的每个tile应至少具有<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
include