`

out.print引起的post无法获取参数的问题?

阅读更多

问题请看分割线下面方法里的注释中的问题...找到问题的原因了..但是不知道为什么会产生这样的情况,求解答.
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方法都可以获取到参数以及参数值

                                /**
                                    其他方法体省略
                                **/

}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics