jsp:include不会发出新请求来获取更新文件

时间:2017-08-24 18:21:53

标签: jsp

我试图了解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>

项目结构:

Project structure

首先,我访问includes.jsp(localhost:8080 / includes.jsp)并查看文本&#34;我喜欢Java&#34;。然后我在文件manipulations.jsp(&#34;我喜欢Java&#34; - &gt;&#34;我喜欢JSP&#34;)中更改文本并保存。然后我刷新了includes.jsp并且看不到任何变化(仍然是#34;我喜欢Java&#34;)。为什么会这样?我理解这个元素是错误的吗?

1 个答案:

答案 0 :(得分:0)

即使您使用指令,问题是否仍然存在?

<%@include file="manipulations.jsp"%>

尝试刷新:

<jsp:include page="manipulations.jsp" flush="true" />

如果其中任何一项无效,我认为问题出在您的cache settings上。如果每次重新启动服务器并清理/重建/刷新,我愿意为内容更新的想法投入大量资金。