Java “我该怎么做?”;进口;从共享驱动器将HTML文件从我的war文件转换成JSP?
前言:我是一个没有经验的java程序员,交了他的第一个任务之一。如果我问的问题不正确或没有给出足够的细节,请让我知道 我正在尝试导入保存在我的C驱动器上的HTML页面。我试图将其导入到war文件中存在的JSP文件的内容部分(div id=“content”)。我已经发现我不能使用jsp:include、#include、@include文件,因为该文件存在于war文件之外。我还发现c:import和iFrame不起作用 我的目标是使保存在c驱动器中的html文件的内容显示在jsp的内容中(在网页上可见) 我使用此Java “我该怎么做?”;进口;从共享驱动器将HTML文件从我的war文件转换成JSP?,java,html,jsp,Java,Html,Jsp,前言:我是一个没有经验的java程序员,交了他的第一个任务之一。如果我问的问题不正确或没有给出足够的细节,请让我知道 我正在尝试导入保存在我的C驱动器上的HTML页面。我试图将其导入到war文件中存在的JSP文件的内容部分(div id=“content”)。我已经发现我不能使用jsp:include、#include、@include文件,因为该文件存在于war文件之外。我还发现c:import和iFrame不起作用 我的目标是使保存在c驱动器中的html文件的内容显示在jsp的内容中(在网页
我搜索了stackoverflow,唯一接近的主题是“如何使用jsp包含在应用程序(war)之外包含一个文件”。它并没有真正让我知道我需要去哪里。也许答案就在我面前,但我看不到。JSP/JSTL不提供支持这一点的标记。您需要使用纯Java来完成。你只需要自己把它写在回复上 以下是最简单的方法之一:
<%
Reader reader = new FileReader("c:/path/to/external/file.html");
try {
for (int i = 0; (i = reader.read()) != -1;) {
out.write(i);
}
} finally {
try { reader.close(); } catch (IOException ignore) {}
}
%>
您可以将它包装在一个自定义标记中,以使您的JSP不受scriptlet混乱的影响,或者您可以将它读入servlet中的
字符串,并将其传递给JSP EL scope。您希望客户机看到服务器上filename.html
的内容吗?如果是这样,你为什么不把它放在你的项目/战争中呢
或者,您希望客户端查看其计算机上的filename.html
的内容吗?如果是这样,您可能只需要添加一个带有该源的iframe
。。。但您会遇到许多与安全相关的问题,因为浏览器通常不允许您这样做。试试看
<% File f = new File("c:\\temp\\filename.html");
BufferedReader in = new BufferedReader(new FileReader(f));
while (in.readLine() != null) {
out.println(blah blah blah);
}
in.close();
%>
读取文件并将其打印到JSP应该可以工作,我的建议是在JSP应用程序中使用http表单上载。在这种情况下,您的文件可以位于文件系统中可访问的任何位置,而不是将其硬编码为位于某个位置。用法
很好的教程
视频中还可以找到一些有用的提示,您为什么要这样做?如果html文件在war之外,它是非常不安全的,甚至可能被移动/删除,等等。这就是说明。其想法是,内容可以由少数人更新。他们将从共享驱动器访问HTML文件。不客气。既然你是新来的,请别忘了在最有助于解决问题的答案上标注“接受”。另见