您的位置:首页 > 其它

解决不支持cookie的手机访问wap(session)

2006-09-13 17:21 330 查看
在wap解析器中,大量用到了session,为了解决有些手机不支持cookie的问题,使用java的Url重写方法response.encodeURL();

由于我的wml或xhtml页面是动态通过xml+xslt解析生成的。。。所以我在最后解析的方法里加上response.encodeURL

关键代码如下
//replace form @action
List list = objXmlOutput.selectNodes("//*[name()='form']/@action");
for (Iterator iter = list.iterator(); iter.hasNext();) {
Attribute attribute = (Attribute) iter.next();
attribute.setValue(response.encodeURL(attribute.getValue()));
}
//replace a @href
list = objXmlOutput.selectNodes("//*[name()='a']/@href");
for (Iterator iter = list.iterator(); iter.hasNext();) {
Attribute attribute = (Attribute) iter.next();
attribute.setValue(response.encodeURL(attribute.getValue()));
}
//replace option @onpick
list = objXmlOutput.selectNodes("//*[name()='option']/@onpick");
for (Iterator iter = list.iterator(); iter.hasNext();) {
Attribute attribute = (Attribute) iter.next();
attribute.setValue(response.encodeURL(attribute.getValue()));
}

埃。。。用xpath这么久了,才发现 //a/@href 和 //*[name()='a']/@href 是有差别的 ,估计前者是只取第一个节点,后则匹配所有节点,不解 ,……

开始有点讨厌Linux
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: