我试图了解jsp:include的内容,并且Oracle Tutorial我发现了:
执行JSP页面时会处理jsp:include元素。 include动作允许您在JSP文件中包含静态或动态资源。包含静态和动态资源的结果是完全不同的。如果资源是静态的,则将其内容插入到调用JSP文件中。如果资源是动态的,则将请求发送到包含的资源,执行包含的页面,然后结果包含在调用JSP页面的响应中。
所以我期待这种行为:一个jsp页面(第一个)包含在另一个(第二个)中 - >如果我更改服务器上第一页的内容并刷新第二页,我会看到一些更改。但似乎它没有用。
我有includes.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<jsp:include page="manipulations.jsp" />
</body>
</html>
我的操作.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>I love Java</p>
</body>
</html>
项目结构:
首先,我访问includes.jsp(localhost:8080 / includes.jsp)并查看文本&#34;我喜欢Java&#34;。然后我在文件manipulations.jsp(&#34;我喜欢Java&#34; - &gt;&#34;我喜欢JSP&#34;)中更改文本并保存。然后我刷新了includes.jsp并且看不到任何变化(仍然是#34;我喜欢Java&#34;)。为什么会这样?我理解这个元素是错误的吗?
答案 0 :(得分:0)
即使您使用指令,问题是否仍然存在?
<%@include file="manipulations.jsp"%>
尝试刷新:
<jsp:include page="manipulations.jsp" flush="true" />
如果其中任何一项无效,我认为问题出在您的cache settings上。如果每次重新启动服务器并清理/重建/刷新,我愿意为内容更新的想法投入大量资金。