防止 xml 在 Restful 中转义 (JAXRS)
Prevent xml escaping in Restful (JAXRS)
我有一个 restful service(jersey) returns 一个 url 在其中一个标签中带有请求参数。示例:
<url>http://abc:9080/testMe.jsp?req1=a&req2=b</url>
(这是响应的一部分)
当我得到响应时,我得到如下结果('&' 变成 '& a m p;',没有任何 space。我添加了 space 以避免在这里转义):
<url>http://abc:9080/testMe.jsp?req1=a&req2=b</url>
我在 google 中查找并在 jaxb 中找到了很多方法,但在 Restful (JAXRS) 中找不到。另外,我尝试了一种添加反斜杠的蹩脚解决方案,但没有成功。
如何防止它在 java 1.6 中发生?
您无需更改任何内容,因为这就像 XML 一样有效:&
是 XML 中的一个特殊字符,文本中包含的任何 &
都会被转义作为 &
您的预期结果 ...=a&req2=b...
不会是格式正确的 XML 文档,而 Jersey 返回的结果格式正确。
当您想要访问响应文档中的 url 值时,您将需要使用 XML 解析器解析响应(例如,进入 DOM 文档)和解析后的文档将具有您期望的 url 值。
我有一个 restful service(jersey) returns 一个 url 在其中一个标签中带有请求参数。示例:
<url>http://abc:9080/testMe.jsp?req1=a&req2=b</url>
(这是响应的一部分) 当我得到响应时,我得到如下结果('&' 变成 '& a m p;',没有任何 space。我添加了 space 以避免在这里转义):
<url>http://abc:9080/testMe.jsp?req1=a&req2=b</url>
我在 google 中查找并在 jaxb 中找到了很多方法,但在 Restful (JAXRS) 中找不到。另外,我尝试了一种添加反斜杠的蹩脚解决方案,但没有成功。 如何防止它在 java 1.6 中发生?
您无需更改任何内容,因为这就像 XML 一样有效:&
是 XML 中的一个特殊字符,文本中包含的任何 &
都会被转义作为 &
您的预期结果 ...=a&req2=b...
不会是格式正确的 XML 文档,而 Jersey 返回的结果格式正确。
当您想要访问响应文档中的 url 值时,您将需要使用 XML 解析器解析响应(例如,进入 DOM 文档)和解析后的文档将具有您期望的 url 值。