问题请看下面的红字部分...找到问题的原因了..但是不知道为什么会产生这样的情况,求解答.
1.先有一个工具类如下:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
/**
* 将字符串传送到页面
* @author zcqshine
*
*/
public class AjaxUtil {
private String jsonResult;
/**
* 将字符串传送到页面
* @param jsonResult 字符串,json格式的字符串也可以
*/
public AjaxUtil(String jsonResult,HttpServletResponse response){
this.jsonResult = jsonResult;
init(jsonResult, response);
}
public void init(String jsonResult,HttpServletResponse response) {
if(jsonResult != null && jsonResult.length() > 0){
jsonResult = jsonResult.replaceAll("[\\n\\r]", ""); //去掉换行符
}
PrintWriter out;
//response.setContentType("text/plain;charset=utf-8");
response.setCharacterEncoding("gbk");
try {
out = response.getWriter();
out.print(jsonResult);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getJsonResult() {
return jsonResult;
}
public void setJsonResult(String jsonResult) {
this.jsonResult = jsonResult;
}
}
====================分隔线========================================
2. 再有一个spring注解的方法(controller注解的)
@RequestMapping(value="/callback")
public void callback(HttpServletRequest request,HttpServletResponse response) {
new AjaxUtil("SUCCESS",response);//如果这个调用放在此处, 并且外部传参数的方式是POST, 则会导致下面的request.getParameter() 方法获取不到参数以及参数值. 但是GET方式正常
String r0_Cmd = formate(request.getParameter("r0_Cmd"));
String p1_MerId = formate(request.getParameter("p1_MerId"));
String p2_Order = formate(request.getParameter("p2_Order"));
String p3_Amt = formate(request.getParameter("p3_Amt"));
String r1_Code = formate(request.getParameter("r1_Code"));
String userid = formate(request.getParameter("userid"));
String gamepid = formate(request.getParameter("gamepid"));
String cpOrderId = formate(request.getParameter("cpOrderId"));
String sign = formate(request.getParameter("sign"));
// new AjaxUtil("SUCCESS",response);//如果这个调用放在此处则上面的request.getParameter()不论POST还是GET方法都可以获取到参数以及参数值
/**
其他方法体省略
**/
}