多项目的数据传递
1 发送url链接
2 action接收返回一个页面 整个页面只有(${Result?if_exists})
3 解析这个页面 得到页面中的Result(不是浏览器解析 是java程序解析)
String res = BaiduUtil.postAppInfo(sigMap, BaiduUtil.ROLE_REST_URL);
public static String postAppInfo(java.util.Map sigMap, String callUrl) {
BufferedReader reader = null;
String resStr = "";
HttpClient httpClient = new HttpClient();
httpClient.getParams().setParameter("http.socket.timeout", 3000);
PostMethod pMethod = null;
try {
pMethod = new PostMethod(callUrl);
} catch (Exception e) {
return "ERROR_-100";
}
Object[] keys = sigMap.keySet().toArray();
for (int i = 0; i < keys.length; i++) {
pMethod.addParameter(keys[i].toString(), sigMap.get(
keys[i].toString()).toString());
}
try {
int ret = httpClient.executeMethod(pMethod);
if (ret >= 200 && ret <= 399) { // 通知成功
reader = new BufferedReader(new InputStreamReader(pMethod.getResponseBodyAsStream()));
String line = "";
while ((line = reader.readLine()) != null) {
resStr = line;
}
reader.close();
}
} catch (HttpException e) {
return "ERROR_http";
} catch (IOException e) {
e.printStackTrace();
return "ERROR_io";
}finally{
try {
if(reader!= null)
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return resStr;
}
开始的时候考虑是否会响应连接之后,会在服务器端弹出显示框,但是没有弹出框。
响应的页面是ftl格式,在页面中只有一个{rusult} 这样直接解析这个ftl就可以得到页面中需要的参数。