Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在运行时加载的jsp中包含html片段?_Java_File_Jsp_Servlets - Fatal编程技术网

Java 如何在运行时加载的jsp中包含html片段?

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中包含内容,而不使用include指令

使用
进行服务器端包含很容易,但是在容器将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();