JSP 不显示 xml 文件的内容

JSP not showing the contents of an xml file

提问人:Travis Heeter 提问时间:10/24/2023 更新时间:10/25/2023 访问量:15

问:

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

这是我的代码

  • 仅适用于日志和 CMD
  • 为 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

评论

0赞 jdweng 10/25/2023
HTML 和 XML 相似,但差异很大,其中一个库并不总是适用于另一个库。XML不需要返回字符,这可能是它不起作用的原因。我更喜欢使用 Powershell 脚本进行解析。

答:

0赞 Travis Heeter 10/25/2023 #1

尝试。URLEncoder.encode

你需要这个:在 jsp 的顶部。<%@ page import="java.net.URLEncoder" %>

然后你可以做: .URLEncoder.encode(schema)


我想将 jsp 调用为 Web 应用程序的端点。我想发送 http://host.com/getFile?path=path\text.xml然后我得到文本的内容.xml回来。但是,我得到了空白。

我后来意识到这是因为像这样的东西让 jsp 认为 String 是 jsp 指令。相反,通过将文本包装在 中,它将其视为需要打印的文本。<URLEncoder.encode()

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