在action中代码:
if ("pingdu".equals(orgid.trim())) {
mapurl="http://192.168.0.100:7001/aolppd/loginAction?username="+yhdm+"&pwd="+yhmm+"&yzm="+yzm;
}
前台js:
<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
var mapUrl = '<s:property value="mapurl"/>';
if(mapUrl != ""){
window.open(mapUrl); }//-->
</script>
这样打开的网址地址栏的参数都会看见、我该怎么做才能把?后面的参数变成username%3d%26quot%3b%2byhdm%2b%26quot%3b%26pwd%3d%26quot%3b%2byhmm%2b%26quot%3b%26yzm%3d%26quot%3b%2byzm这种或者别的方式也行。让用户看不懂。前台js里面包含着一个flash、是点击falsh里面的内容、打开新窗口。分不够可以再加。只求能解决。我用过URLEncoder.encode()方法、不行
if ("pingdu".equals(orgid.trim())) {
mapurl="http://192.168.0.100:7001/aolppd/loginAction?username="+yhdm+"&pwd="+yhmm+"&yzm="+yzm;
}
前台js:
<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
var mapUrl = '<s:property value="mapurl"/>';
if(mapUrl != ""){
window.open(mapUrl); }//-->
</script>
这样打开的网址地址栏的参数都会看见、我该怎么做才能把?后面的参数变成username%3d%26quot%3b%2byhdm%2b%26quot%3b%26pwd%3d%26quot%3b%2byhmm%2b%26quot%3b%26yzm%3d%26quot%3b%2byzm这种或者别的方式也行。让用户看不懂。前台js里面包含着一个flash、是点击falsh里面的内容、打开新窗口。分不够可以再加。只求能解决。我用过URLEncoder.encode()方法、不行
StringBuffer sb = new StringBuffer();
char c;
for (int i = 0; i < s.length(); i++) {
c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
logger.error("ConsumeSortAction.parse " + ex);
b = new byte[0];
}
int k=0;
for (int j = 0; j < b.length; j++) {
k= b[j];
if (k < 0)
k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
}
转码没有一定的规则 看自己喜好