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

在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


原文地址:https://www.cnblogs.com/yesun/p/503402.html