JSP对于特殊字符要怎么处理?

时间:2021-01-19 20:24:09
有三个字符 < & >
在HTML页里为了能正常显示我把它转成了这样:&lt;&amp;&gt;

问题1。我用AJAX的POST方法把 &lt;&amp;&gt;这三个特殊字符当一个字符串传到JSP页面时JSP接收不到,长度为0。

问题2。我把它写成XML文件形式比如<?xml ……?><item><ccc>&lt;&amp;&gt;</ccc></item>这样,然后用JSP去读的时候就出错。
高人指教要怎么样才能解决?

8 个解决方案

#1


1.转义字符,post前先encode一下
2.这么写没错,jsp读后咋处理的?

#2


问题1:奇怪,使用post什么都能传过去的,直接用原来的字符就可以了,如"<&>中文",不需要任何特殊处理,如果你传的是“&lt;&amp;&gt;”,则服务器端接收到的仍然是“&lt;&amp;&gt;”

问题2:绝对没有问题,不知道你的错误信息是什么,有可能是其他错误,但不是xml的错误

#3


第二个问题用dom4j去解析吧

#4


1.普通POST是没问题,不作任何处理都可以,但我问的是AJAX,传过去的长度为0,
2.用<![CDATA[]]>可以正常读取XML中的特殊字符,可问题是我得要先把这个东西传到写入XML的JSP中去,但这个东西本身又有特殊字符,于是问题回到第一个上`

#5


编码与解码的问题

#6


引用 2 楼 inhibitory 的回复:
问题1:奇怪,使用post什么都能传过去的,直接用原来的字符就可以了,如"<&amp;>中文",不需要任何特殊处理,如果你传的是“&amp;lt;&amp;amp;&amp;gt;”,则服务器端接收到的仍然是“&amp;lt;&amp;amp;&amp;gt;”

问题2:绝对没有问题,不知道你的错误信息是什么,有可能是其他错误,但不是xml的错误


按着这个来 没错的。

#7


学习了,顶一下!!!!!!

#8


引用 4 楼 ft284800 的回复:
1.普通POST是没问题,不作任何处理都可以,但我问的是AJAX,传过去的长度为0,
2.用<![CDATA[]]>可以正常读取XML中的特殊字符,可问题是我得要先把这个东西传到写入XML的JSP中去,但这个东西本身又有特殊字符,于是问题回到第一个上`


AJAX底层就是使用的post和get

#1


1.转义字符,post前先encode一下
2.这么写没错,jsp读后咋处理的?

#2


问题1:奇怪,使用post什么都能传过去的,直接用原来的字符就可以了,如"<&>中文",不需要任何特殊处理,如果你传的是“&lt;&amp;&gt;”,则服务器端接收到的仍然是“&lt;&amp;&gt;”

问题2:绝对没有问题,不知道你的错误信息是什么,有可能是其他错误,但不是xml的错误

#3


第二个问题用dom4j去解析吧

#4


1.普通POST是没问题,不作任何处理都可以,但我问的是AJAX,传过去的长度为0,
2.用<![CDATA[]]>可以正常读取XML中的特殊字符,可问题是我得要先把这个东西传到写入XML的JSP中去,但这个东西本身又有特殊字符,于是问题回到第一个上`

#5


编码与解码的问题

#6


引用 2 楼 inhibitory 的回复:
问题1:奇怪,使用post什么都能传过去的,直接用原来的字符就可以了,如"<&amp;>中文",不需要任何特殊处理,如果你传的是“&amp;lt;&amp;amp;&amp;gt;”,则服务器端接收到的仍然是“&amp;lt;&amp;amp;&amp;gt;”

问题2:绝对没有问题,不知道你的错误信息是什么,有可能是其他错误,但不是xml的错误


按着这个来 没错的。

#7


学习了,顶一下!!!!!!

#8


引用 4 楼 ft284800 的回复:
1.普通POST是没问题,不作任何处理都可以,但我问的是AJAX,传过去的长度为0,
2.用<![CDATA[]]>可以正常读取XML中的特殊字符,可问题是我得要先把这个东西传到写入XML的JSP中去,但这个东西本身又有特殊字符,于是问题回到第一个上`


AJAX底层就是使用的post和get