JSP 不显示 xml 文件的内容

问题描述 投票:0回答:1

我需要显示各种文件的内容:.log、.xml、.cmd、.wsf 等。我正在尝试编写一个 jsp 来一般性地获取文件并打印其内容。

这是我的代码

  • 仅适用于日志和命令
  • 为 wsfs 和 xml 多次打印“String”
inputStream      = new FileInputStream(file);
reader           = new BufferedReader(new InputStreamReader(inputStream));

String line      = reader.readLine();      

out.println("Log file: "+strPath+"<br>");  <--------- This works always



if (!file.exists()) {
  out.println("File does not exist");
} else {


  while (line!=null) {     

  
    out.println(line.getClass() + "<br>"); <-- Prints "String" for xml & wsf
    out.println(line); <---------------------- Sometimes prints a space for xml & wsf
    

    line         = reader.readLine();


  }


}

reader.close();
inputStream.close();

对于 xml 和 wsf 文件我需要做一些特别的事情吗?它们的相似之处在于它们都有 ml 描述符,例如

<job id="script">


我已经看到了类似问题的答案,但我不确定如何让它在我继承的代码库中工作(我只是复制其他人的工作)。

https://stackoverflow.com/a/20298733/1152809

xml jsp
1个回答
0
投票

尝试

URLEncoder.encode

您需要这个:

<%@ page import="java.net.URLEncoder" %>
,位于 jsp 顶部。

然后你可以这样做:

URLEncoder.encode(schema)


我想调用 jsp 作为 Web 应用程序的端点。我想发送 http://host.com/getFile?path=path ext.xml 然后我得到了 text.xml 的内容。然而我得到了空白。

我后来意识到这是因为像

<
这样的东西让jsp认为String是jsp指令。相反,通过将文本包裹在
URLEncoder.encode()
中,它将其视为需要打印的文本。

然后在 js 方面,我使用

decodeURIComponent(val).replaceAll('+',' ')
来解码消息,然后我得到了一个可以在文本区域中显示的字符串。

© www.soinside.com 2019 - 2024. All rights reserved.