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

Tho*_*orn 3 java jsp servlets file

我需要在不使用 include指令的情况下在JSP中包含内容.

将容器转换为Servlet 之前,很容易在服务器端包含with,<%@include file="includeMe.htm" %>但是将内容includeMe.htm添加到JSP 中.这意味着如果includeMe.htm被修改,则更改不会反映在生成的Servlet文件中.我厌倦了进入Tomcats生成的文件目录,手动删除生成的java和类文件,或者每次包含的文件更改时重新部署我的应用程序..java

我是否需要编写一个代码块来逐行读取文本文件中的数据,然后像这样写?

 <%
    while( not done reading from file ) {
        String line = scanner.nextLine();
        response.getWriter().println(line);
    }  %>
Run Code Online (Sandbox Code Playgroud)

有更简单或更清洁的方式吗?

ban*_*cer 7

看看这里的答案.您还可以使用<c:import>:

2)<jsp:include>标准动作

<jsp:include page="header.jsp" />
Run Code Online (Sandbox Code Playgroud)

动态:在请求时将页面属性值的内容添加到当前页面.更适用于来自JSP的动态内容.

3)<c:import> JSTL标签:

<c:import url=”http://www.example.com/foo/bar.html” />
Run Code Online (Sandbox Code Playgroud)

动态:在请求时将URL属性值的内容添加到当前页面.它的工作原理很多 <jsp:include>,但它更强大和灵活:与其他两个包含不同,<c:import> url可以来自web容器之外!

关于将文件读入字符串.如果文件很小,请执行以下操作:

String content = new Scanner(new File("filename")).useDelimiter("\\Z").next();
Run Code Online (Sandbox Code Playgroud)