Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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 “我该怎么做?”;进口;从共享驱动器将HTML文件从我的war文件转换成JSP?_Java_Html_Jsp - Fatal编程技术网

Java “我该怎么做?”;进口;从共享驱动器将HTML文件从我的war文件转换成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的内容中(在网页

前言:我是一个没有经验的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文件。不客气。既然你是新来的,请别忘了在最有助于解决问题的答案上标注“接受”。另见