将xml作为参数的兄弟们注意了,请将你们的xml,encodeURIComponent()了以后再post到你们的struts,否则,一些特殊字符,比如">",在xml中会被转义成">"。
到了struts端,"
>
"中的"&"会被理解成URL的参数分割符,也就是说,“
>
”成了另一个参数,这个时候,所有在"
>
"之后的xml都会被截断,成了另一个参数,java端解析这个不完整的xml就会报错。
因此,你必须把你的xml做了encodeURIComponent(xml)以后再post到服务器端,这样解析出来的xml才是完整的。
因为,如果你的xml如果没有逃逸字符出现,就不会暴露出这个问题,所以,我在这里提醒没有发现问题的兄弟们,务必加上这个encodeURIComponent,不过别忘记要重新测试你的代码。
(一般struts端会自动解码,如果struts端没有解码,就使用java.net.URLDecoder.decode(String s, String enc))
escape 方法
对 String
对象编码以便它们能在所有计算机上可读,
escape(
charString
)
必选项 charstring
参数是要编码的任意 String
对象或文字。
说明
escape
方法返回一个包含了 charstring
内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII
字符都用 %
xx
编码代替,其中 xx
等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
字符值大于 255 的以 %u
xxxx
格式存储。
注意
escape
方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI
和encodeURIComponent
方法。
encodeURI 方法
将文本字符串编码为一个有效的统一资源标识符 (URI)。
encodeURI(
URIString
)
必选的 URIString
参数代表一个已编码的 URI。
说明
encodeURI
方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI
,那么将返回初始的字符串。encodeURI
方法不会对下列字符进行编码:":"、"/"、";" 和 "?"。请使用 encodeURIComponent
方法对这些字符进行编码。
encodeURIComponent 方法
将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。
encodeURIComponent(
encodedURIString
)
必选的 encodedURIString
参数代表一个已编码的 URI 组件。
说明
encodeURIComponent
方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent
,那么将返回初始的字符串。因为 encodeURIComponent
方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html
,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI
方法进行编码。
三种编码效果可以在这里试验:
http://xkr.us/articles/javascript/encode-compare/
分享到:
相关推荐
为每个控件创建一个XML元素,将控件的属性(如ID、文本、状态等)作为元素的属性保存。 2. **读取XML数据到控件**: - 当应用程序启动时,或者需要恢复控件状态时,读取XML文件。使用TinyXML2的XMLDocument::Load...
主体中包含实际的调用方法和参数,这些参数通常以XML格式拼接而成。 3. **Web Service接口**:Web Service提供者定义一套服务操作,这些操作通过WSDL(Web Services Description Language)文档公开。WSDL文件是一...
它通常使用SOAP(简单对象访问协议)作为消息传输格式,XML作为数据交换格式。 2. **POST方法**:在HTTP请求中,POST方法用于向服务器发送数据,常用于提交表单或发送数据到服务器进行处理。在这个场景中,POST方法...
当我们将XML文件作为数据库,首先要做的就是读取XML文件并将其内容转换为可操作的数据结构。C#中可以创建一个自定义的类,该类的属性与XML文件的元素相对应。例如,如果XML文件描述的是学生信息,我们可以创建一个...
修改XML通常涉及找到要更改的节点,然后更新其属性或内容。例如,如果要修改某个元素的文本,可以使用DOM API的`Node.setTextContent()`方法;如果要更改属性值,可以使用`Node.setAttribute()`。注意,修改后需要...
1. **理解XML结构**:在转换之前,首先要了解XML文件的结构,包括根元素、子元素、属性等。这将决定CSV文件中的列名和数据分布。 2. **解析XML文件**:使用XML解析器,如Python的`ElementTree`库,Java的`JDOM`或`...
在IT领域,XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,而Qt则是一个跨平台的应用程序开发框架,尤其适合创建GUI(图形用户界面)。本项目结合了XML的数据处理与Qt的界面展示技术,实现...
2. **处理XML参数的注意事项**: 在调用存储过程时,如果dataset的命名发生变化,可能导致问题。为了避免这种情况,可以在创建dataset时指定一个固定的名称,如`DataSet ds = new DataSet("bao");`这样,无论内部...
3. 验证XML:使用XML文档对象的validate方法,传入XSD文档对象作为参数。 4. 处理验证结果:检查验证结果,如果返回值为真,说明XML文档有效;否则,遍历错误集合获取错误信息。 通过这样的验证器,开发者可以确保...
3. **自定义参数化**:在测试过程中,你可以通过变量或者参数化值来动态改变请求,便于进行参数化测试。 4. **发送XML数据**:HTTPXML测试工具支持直接在请求中嵌入XML数据,这对于测试需要XML输入的服务非常方便。...
XML 作为一个非常重要的纯文本格式已经进入了编程的很多领域,作为一个面向应用层面的 C# 也一样在很多领域离不开 XML。但是,C# 在很多方面对 XML 做了写封装,以至于很多操作 XML 的代码,都不需要手动去写。例如...
3、使用X.509加密xml,这种方法是用X.509作为非对称密钥,它由诸如VeriSign之类的第三方提供。 方法 不管xml加密是如何完成的,保存加密数据总是用两种方法之一。 1、加密后所有的元素都被命名为 2、加密后只有...
在使用读取XML文件中的配置参数时,我们需要注意以下几点: 1. 需要正确配置XML文件的路径和名称。 2. 需要正确定义Bean的属性和 setter/getter 方法。 3. 需要正确使用ApplicationContext来读取XML文件中的配置...
TC4热力参数.xml
在Mybatis中,我们经常需要处理复杂的SQL查询,其中涉及到多条件筛选,这些条件可能是可选的,并且可能需要在`AND`与`OR`之间灵活切换。...在实际应用中,一定要注意SQL安全和性能优化,避免不必要的全表扫描。
`LoadXML`接受XML字符串作为参数,而`Load`则加载文件路径。 2. **验证XML文档**: - 在加载XML时,可以设置验证标志,如`IXMLDOMDocument::validateOnParse`,来验证XML文档是否符合其指定的DTD(文档类型定义)...
XMLViewer,查看xml文件非常好用的工具。 Viewer(xml查看器)是一款专业的xml查看软件。他可以帮助用户方便查看xml,以便检测语法是否正确。 安装之后,右键点击XML文件,选择“ View ”,方便快捷。
XML(可扩展标记语言)作为一种常用的数据交换格式,在诸多应用场景中扮演着重要角色。因此,对XML文件进行有效的加密与解密处理是确保数据安全的关键步骤之一。 #### 二、XML文件加密的重要性 1. **数据安全性**...
在Java编程环境中,XML(可扩展标记语言)和XSLT(可扩展样式表语言转换)是处理和转换XML文档的常见工具。XSLT是一种专门用于将XML文档转换为其他XML、HTML或文本格式的语言。本文将详细介绍如何在Java中使用XSLT来...