Java 如何在运行时加载的jsp中包含html片段?
我需要在JSP中包含内容,而不使用include指令 使用Java 如何在运行时加载的jsp中包含html片段?,java,file,jsp,servlets,Java,File,Jsp,Servlets,我需要在JSP中包含内容,而不使用include指令 使用进行服务器端包含很容易,但是在容器将JSP转换为Servlet之前,includeMe.htm的内容被添加到JSP。这意味着,如果includeMe.htm被修改,这些更改不会反映在生成的.javaServlet文件中。我厌倦了进入Tomcats生成的文件目录,手动删除生成的java和类文件,或者在每次包含的文件更改时重新部署我的应用程序 我需要写一个代码块来逐行读取文本文件中的数据,然后像这样写吗 <% while( n
进行服务器端包含很容易,但是在容器将JSP转换为Servlet之前,includeMe.htm
的内容被添加到JSP。这意味着,如果includeMe.htm被修改,这些更改不会反映在生成的.java
Servlet文件中。我厌倦了进入Tomcats生成的文件目录,手动删除生成的java和类文件,或者在每次包含的文件更改时重新部署我的应用程序
我需要写一个代码块来逐行读取文本文件中的数据,然后像这样写吗
<%
while( not done reading from file ) {
String line = scanner.nextLine();
response.getWriter().println(line);
} %>
有更简单或更干净的方法吗?您可以使用
.tag
文件作为可重用的内容,或者执行
(包括分派)到另一个JSP
然而,Tomcat是:
当包含的页面发生更改时重新编译JSP-Jasper 2现在可以检测在编译时从JSP中包含的页面何时发生更改,然后重新编译父JSP
还请注意,通常的做法是对通过
包含的文件使用.jspf
(JSP片段)扩展名查看答案。
您还可以使用
:
2)
标准动作
您可以将
.tag
文件用于可重用内容,也可以执行
(包括分派)。不过,Tomcat应该能够重新编译具有此类依赖项的JSP。。。可能是因为您使用了不正确的扩展名。试着改用.jspf
(JSP片段)。正如我所想,Tomcat应该能够处理包含片段中的更改-(在包含页面更改时检查重新编译JSP)。如果您想在运行时包含includeMe.htm的内容而不是编译团队,那么就使用JSP include而不是@include。它解决了您的查询吗?@Pavel出于某种原因,我认为这个简单的解决方案不起作用,因为附带的jsp页面没有被修改。请将您的评论更改为答案,以便其他人在搜索时更容易找到。这可能是Tomcat的一个新功能。例如,下面的链接描述了我的假设:无论哪种方式,我想
都会奏效。
<jsp:include page="header.jsp" />
<c:import url=”http://www.example.com/foo/bar.html” />
String content = new Scanner(new File("filename")).useDelimiter("\\Z").next();