Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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和正斜杠(/)以及%2F中的href?_Java_Html - Fatal编程技术网

Java HTML和正斜杠(/)以及%2F中的href?

Java HTML和正斜杠(/)以及%2F中的href?,java,html,Java,Html,我正在生成一个HTML页面,列出Java目录中的文件。每个文件名都放置在指向该文件的链接中。由于目录名和文件名包含非ASCII字符和空格,因此我使用以下方法对它们进行编码 URLEncoder.encode(str, "UTF-8").replace("+", "%20"); 对于每个文件,我可以将完整目录放入的href,或者将其附加到的href。上述方法将/转换为%2F。但是我看到href包含/ 所以 我应该将/替换为%2F还是 我应该保持原样还是 无论是/还是%2F 如果答案是2,我应该使

我正在生成一个HTML页面,列出Java目录中的文件。每个文件名都放置在指向该文件的链接中。由于目录名和文件名包含非ASCII字符和空格,因此我使用以下方法对它们进行编码

URLEncoder.encode(str, "UTF-8").replace("+", "%20");
对于每个文件,我可以将完整目录放入
href
,或者将其附加到
href
。上述方法将
/
转换为
%2F
。但是我看到
href
包含
/

所以

  • 我应该将
    /
    替换为
    %2F
    还是
  • 我应该保持原样还是
  • 无论是
    /
    还是
    %2F

  • 如果答案是2,我应该使用什么Java方法来代替URLEncoder.encode(),因为它将
    /
    替换为
    %2F

    ,这取决于
    /
    是作为路径分隔符还是作为查询的一部分。它是文件路径的一部分。例如,如果请求的页面为“http:///mysite/a/b/c,并且“a/b/c”目录包含c1.txt、c2.txt…,基可以是“/a/b/c”,文件链接可以是“c1.txt”,或者没有基,文件链接可以是“/a/b/c/c1.txt”。那么您不应该对其进行编码。这取决于
    /
    是否用作路径分隔符,或作为查询的一部分。它是文件路径的一部分。例如,如果请求的页面为“http:///mysite/a/b/c,而“a/b/c”目录中包含c1.txt、c2.txt…,或者基可以是“/a/b/c”,文件链接可以是“c1.txt”,或者没有基,文件链接可以是“/a/b/c/c1.txt”。那么您不应该对其进行编码。