在异步处理当中,我们经常需要在前台将比较复杂的数据对象传输到后台进行处理,那么如何将数据传输到后台呢?这是值得思考的一个问题。这里我结合DWR讲下自己的思路。
首先,我们用到的数据必须能够被DWR解析并传到后台。DWR能够解析的数据类型基本上包括:常用的基本数据类型、List、Map等一些简单容器(容器里面要求的数据类型必须是String类型)以及自定义的类型,除了自定义的数据类型是需要转换意外,其它的类型是不需要转换的。所以我们暂时放弃使用直接将一些比较复杂的数据类型通过DWR直接传到后台,因此我们需要调整自己的思路。于是另外一种思路便浮现出来,我们将复杂的数据类型转换成字符串类型,然后再到后台去解析。如何将复杂的数据类型转换成字符串类型呢,我们首先想到的是自定义一套规则,按照规则将其转换成字符串类型,然后根据相应的规则到后台去解析。但是这种做法会产生一些问题:
(1)当数据类型比较复杂的时候,我们定义的规则也比较复杂,我们在后台解析的时候也比较麻烦。
(2)我们定义规则的时候常需要一些标记符来作为分隔符,但是我们会遇到数据里面有可能会包含这种分隔符,这时我们在后台解析的话就可能会产生问题,导致获取的数据不对。
这时,我们必须要尝试用另外一种方式去将数据转换成字符串类型的数据。于是,我们便可以采用JSON技术,在前台我们将需要的数据转换成填充在JSON对象里面,然后将其转换成字符串类型,然后在后台使用JSON API里面的一些方法去解析字符串并将其转换成我们所需要的数据格式。
关于JSON技术的详细使用方法,我将会在后面的文章中用实例展现出来。