[Miles' Blog]

Welcome 2 My Planet

Available categories: [/] [development. ~]

issues, 040601 [Permalink]

Tue Jun 01 14:01:04 CST 2004
Category [working on downwap.]

客户端兼容性问题。模拟器上测试没有任何问题,M320还是不行。问题有两个:

  1. 汉字编码。对于模拟器,对汉字的处理方法等同于html浏览器作普通html客户端时候的做法。就是说,显示和入库,都需要做一个编码转换。但是,M320却用不着。只能再测试看看了。。如果真的有这种差异,还是不容易处理阿。。
    A: 通过检查客户端类型解决了。扩展性不好。期待更好的方法。
  2. request保存值问题。现在做法,是在用户请求某些需要登录的操作(比如回复帖子)的时候,进行权限检查(此时的request URI可能是:/wml/fcs.jw?act=goreply&pid=12345)。如果未登录,就在servlet里面直接forward到用户管理的servlet(/wml/mcs.jw?act=gologin&from=/wml/fcs.jw?act=goreply&pid=12345),并且在里面进一步forward到login.jwml(这是login form,pagefield包括username,password,from,和act。其中act=loginmember),并且带上from参数。用户填好表单之后,仍然提交回用户管理servlet(mcs.jw)。在这个servlet中,根据act(loginmember)进行登录。当登录完成,再forward回来。整个流程本身没什么问题。同上,模拟器正常。但是,M320中,最后一次act却成了goreply(期待值是loginmember),导致叶面出错。怎么会这样呢?request里面的参数居然跨request存在?而且没有被覆盖?晕啊。。[流程参看下图]
    A: 没法子。加了一个冗余的request.setAttribute()。似乎可以解决。
    问题在于from参数本身可能带有查询字符串。比如:/nexus/wml/fcs.jw?act=reply&pid=123。一般的客户端,比如IE,处理时候没有问题,因为这个字串会encode。也就是说,允许form field内容有&。但是,对于m320就不同了。这里的&会把post数据截断。目前还没有好办法,晚上回去研究一下。
    找到问题了。。。原来M320对于url的编码仅仅限于%(会变成%25),其他字符,比如&/都不会处理。。现在只能是手动的进行编码和解码了。没有办法。还好只是在UI层 /images/emoticons/happy.gif


Posted by: miles
Comments [0] |

?
四月 2024
Sun? Mon? Tue? Wed? Thu? Fri? Sat?
 123456
78910111213
14151617181920
21222324252627
282930    
       
<  Mar???Today??? May  >
<< <   1   > >>

Available categories: [/] [development. ~]

Powered By blojsom?? RSS Feed? RSS2 Feed? RDF Feed

html hits:?51302