kapok

垃圾桶,嘿嘿,我藏的这么深你们还能找到啊,真牛!

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  455 随笔 :: 0 文章 :: 76 评论 :: 0 Trackbacks
http://rabbit8.blogchina.com/blog/article_144619.789350.html
关于DisplayTag:新的郁闷开始了……
2005年 02月02日
DisplayTag的默认的URL为上一次的URL,而上一次的URL中包含被编码后的汉字,所以,将编码后的汉字再次进行编码,肯定查不到结果,所以也不能翻页,看来要修改DisplayTag了,本来想年后再弄的......

DisplayTag的默认的URL默认为上一次的URL,如果上一次的URL包含中文的话,则会被进行URLEncode,所以在翻页的时候,又会把进行了URLEncode后的数据再次进行URLEncode,所以翻页就没有数据,因为这部分功能被封装在DisplayTag中,于是,我又开始郁闷了......

如汉字"专业"被编码后为"%D7%A8%D2%B5",于是DisplayTag就将这个编码作为连接的关键字,如果再次提交,则这个编码还会被编码,所以查询结果一定就不对了!!!

下面的内容是我分析这个问题的由来:

---------------------------------------------------------------------------------------------------

刚才到网上查找了些资料,找到HTML4.0.1的规范中关于URLEncode的部分,我把我关心的内容翻译了一下:

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1

其中相关内容如下在17.13.3 Processing form data

提交时,HTML的规范处理如下:

1.标识successful controls (概念可以在上文中查找)。

2.构建form的数据集。

3.根据form的enctype的设置,对form的数据集进行Encode。

4.提交已经Encode的数据集。

 

HTML规范中指出Content type和Languange code是不区分大小写的。

详情参见:http://www.w3.org/TR/html401/types.html#type-content-type

"&" 表示"&"。关于charset的详细内容见:http://www.w3.org/TR/html401/charset.html#entities

 

有一个小发现:Frame中的target的值的列表原来是在HTML的规范中制定的,呵呵:

http://www.w3.org/TR/html401/types.html#type-content-type
6.16 Frame target names

下面的target的名字是规范中声明的有特殊含义的保留字。

_blank  在一个没有指定名字的新窗口中打开页面。(new, unnamed window)

_self  在同一个窗口中打开。(load the document in the same frame as the element that refers to this target)

_parent  在当前窗口的父窗口中打开,如果当前窗口没有父窗口,那么就等同于_self

_top  在最开始的窗口中转载,如果当前框架没有parent,那就等于_self

 

关键部分在这里了:http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1

form的默认的content type是:application/x-www-form-urlencoded

form提交content type的数据必须用下列规则进行编码(encode):

空格被封装为"+",其他的保留字封装后的值在 [RFC1738]中可以查到。RF1738的规范:http://www.ietf.org/rfc/rfc1738.txt

其他的非英文字符和非数字的字符都被编码为"%HH",

HH是将字符的ASCII的编码转换为16进制后的字符。行尾是"CR LF"  (如:`%0D%0A')。

控件的名字和数值之间使用"="分隔,多个控件之间用"&"分隔。

------------------------------------------------------------------------------------------------------------------

                                                                                                    兔八哥

                                                                                                2005-2-2下午

 

posted on 2005-03-09 00:17 笨笨 阅读(657) 评论(0)  编辑  收藏 所属分类: ALLAppFuse

只有注册用户登录后才能发表评论。


网站导航: