天天看點

Spring MVC+Ajax建立執行個體

Java浠g爜

Spring MVC+Ajax建立執行個體
  1. @Override聽聽
  2. protected聽ModelAndView聽onSubmit(HttpServletRequest聽request,聽HttpServletResponse聽response,聽Object聽cmd, 聽聽
  3. 聽聽聽聽聽聽聽聽BindException聽ex)聽{ 聽聽
  4. 聽聽聽聽String聽userId=request.getParamater("userId"); 聽聽
  5. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Map聽userInfoMap=userDao.getUserBaseInfo(userId); 聽聽
  6. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽JSONObject聽object聽=聽new聽JSONObject(); 聽聽
  7. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽object.put("userInfoMap",userInfoMap); 聽聽
  8. 聽聽聽聽response.setContentType("text/Xml;charset=gbk"); 聽聽
  9. 聽聽聽聽PrintWriter聽out聽=聽null; 聽聽
  10. 聽聽聽聽try聽{ 聽聽
  11. 聽聽聽聽聽聽聽聽out聽=聽response.getWriter(); 聽聽
  12. 聽聽聽聽聽聽聽聽聽聽聽聽聽out.println(object.toString()); 聽聽
  13. 聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽
  14. 聽聽聽聽} 聽聽
  15. 聽聽聽聽catch聽(IOException聽ex1)聽{ 聽聽
  16. 聽聽聽聽聽聽聽聽ex1.printStackTrace(); 聽聽
  17. 聽聽聽聽}finally{ 聽聽
  18. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽out.close(); 聽聽
  19. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽} 聽聽
  20. 聽聽聽聽return聽null; 聽聽
  21. }聽聽
@Override
	protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object cmd,
			BindException ex) {
		String userId=request.getParamater("userId");
                  Map userInfoMap=userDao.getUserBaseInfo(userId);
                  JSONObject object = new JSONObject();
                  object.put("userInfoMap",userInfoMap);
		response.setContentType("text/Xml;charset=gbk");
		PrintWriter out = null;
		try {
			out = response.getWriter();
		         out.println(object.toString());
		         
		}
		catch (IOException ex1) {
			ex1.printStackTrace();
		}finally{
                            out.close();
                   }
		return null;
	}
           

璇存槑涓€涓嬫垜鍚戝鎴風椤甸潰response鐨勬槸涓€涓狫Son瀵矽薄,閫夋嫨JSon杩欑鏁版嵁鏍煎紡鐨勪袱涓師鍥犳槸:

  1. 浣撶Н灏忓彲闄嶄綆娴侀噺.
  2. Js绔В鐮佸崄鍒嗘柟渚?Js瀵笿Son鏍煎紡鏁版嵁鏈夊師鐢熺殑鏀寔.

浣跨敤Spring Mvc鍘熸湁鐨凷impleFormController,浠庝笂杈圭殑渚嬪瓙涓婄湅鏄彲浠ュ疄鐜扮殑,浣嗘槸姣忔閮借鍐?灏咼SonObject鍐欏叆娴?鍏蟲祦鐨勪唬鐮?寰堢瘡,寰堥夯绾?"

鎵€浠?鎵╁睍浜嗕袱涓柊鐨凜ontroller,浠ョ畝鍖栧Ajax璇鋒眰鐨勫鐞?

JSONObjectAbstractController 鐢ㄤ簬绠€鍗曠殑浠巖equest.getParamater鍙傛暟鐨勬儏鍐?

JSONObjectAbstractController 鐨勫師浠g爜:

Java浠g爜

Spring MVC+Ajax建立執行個體
  1. package聽com.javaest.ext.spring.mvc.controller; 聽聽
  2. 聽聽
  3. import聽java.io.IOException; 聽聽
  4. import聽java.io.PrintWriter; 聽聽
  5. 聽聽
  6. import聽javax.servlet.http.HttpServletRequest; 聽聽
  7. import聽javax.servlet.http.HttpServletResponse; 聽聽
  8. 聽聽
  9. import聽net.sf.json.JSONObject; 聽聽
  10. 聽聽
  11. import聽org.springframework.web.servlet.ModelAndView; 聽聽
  12. import聽org.springframework.web.servlet.mvc.AbstractController; 聽聽
  13. 聽聽
  14. public聽abstract聽class聽JSONObjectAbstractController聽extends聽AbstractController聽{ 聽聽
  15. 聽聽
  16. 聽聽聽聽@Override聽聽
  17. 聽聽聽聽protected聽ModelAndView聽handleRequestInternal(HttpServletRequest聽request,聽HttpServletResponse聽response) 聽聽
  18. 聽聽聽聽聽聽聽聽聽聽聽聽throws聽Exception聽{ 聽聽
  19. 聽聽聽聽聽聽聽聽JSONObject聽jsonObject聽=聽handleAjaxRequestInternal(request,聽response); 聽聽
  20. 聽聽聽聽聽聽聽聽response.setContentType("text/Xml;charset=gbk"); 聽聽
  21. 聽聽聽聽聽聽聽聽PrintWriter聽out聽=聽null; 聽聽
  22. 聽聽聽聽聽聽聽聽try聽{ 聽聽
  23. 聽聽聽聽聽聽聽聽聽聽聽聽out聽=聽response.getWriter(); 聽聽
  24. 聽聽聽聽聽聽聽聽聽聽聽聽out.println(jsonObject.toString()); 聽聽
  25. 聽聽聽聽聽聽聽聽} 聽聽
  26. 聽聽聽聽聽聽聽聽catch聽(IOException聽ex1)聽{ 聽聽
  27. 聽聽聽聽聽聽聽聽聽聽聽聽ex1.printStackTrace(); 聽聽
  28. 聽聽聽聽聽聽聽聽} 聽聽
  29. 聽聽聽聽聽聽聽聽finally聽{ 聽聽
  30. 聽聽聽聽聽聽聽聽聽聽聽聽out.close(); 聽聽
  31. 聽聽聽聽聽聽聽聽} 聽聽
  32. 聽聽
  33. 聽聽聽聽聽聽聽聽return聽null; 聽聽
  34. 聽聽聽聽} 聽聽
  35. 聽聽
  36. 聽聽聽聽protected聽abstract聽JSONObject聽handleAjaxRequestInternal(HttpServletRequest聽httpServletRequest, 聽聽
  37. 聽聽聽聽聽聽聽聽聽聽聽聽HttpServletResponse聽httpServletResponse)聽throws聽Exception; 聽聽
  38. 聽聽
  39. }聽聽
package com.javaest.ext.spring.mvc.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public abstract class JSONObjectAbstractController extends AbstractController {

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		JSONObject jsonObject = handleAjaxRequestInternal(request, response);
		response.setContentType("text/Xml;charset=gbk");
		PrintWriter out = null;
		try {
			out = response.getWriter();
			out.println(jsonObject.toString());
		}
		catch (IOException ex1) {
			ex1.printStackTrace();
		}
		finally {
			out.close();
		}

		return null;
	}

	protected abstract JSONObject handleAjaxRequestInternal(HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception;

}
           

JSONObjectSimpleFormController 鐢ㄤ簬鑷姩灏嗚姹傚弬鏁扮粦瀹氬埌Command瀵矽薄鐨勬儏鍐?

JSONObjectSimpleFormController 鐨勪唬鐮?

Java浠g爜

Spring MVC+Ajax建立執行個體
  1. package聽com.javaest.ext.spring.mvc.controller; 聽聽
  2. 聽聽
  3. import聽java.io.IOException; 聽聽
  4. import聽java.io.PrintWriter; 聽聽
  5. 聽聽
  6. import聽javax.servlet.http.HttpServletRequest; 聽聽
  7. import聽javax.servlet.http.HttpServletResponse; 聽聽
  8. 聽聽
  9. import聽net.sf.json.JSONObject; 聽聽
  10. 聽聽
  11. import聽org.springframework.validation.BindException; 聽聽
  12. import聽org.springframework.web.servlet.ModelAndView; 聽聽
  13. import聽org.springframework.web.servlet.mvc.SimpleFormController; 聽聽
  14. 聽聽
  15. public聽abstract聽class聽JSONObjectSimpleFormController聽extends聽SimpleFormController聽{ 聽聽
  16. 聽聽
  17. 聽聽聽聽@Override聽聽
  18. 聽聽聽聽protected聽ModelAndView聽onSubmit(HttpServletRequest聽request,聽HttpServletResponse聽response,聽Object聽cmd, 聽聽
  19. 聽聽聽聽聽聽聽聽聽聽聽聽BindException聽ex)聽{ 聽聽
  20. 聽聽聽聽聽聽聽聽JSONObject聽object聽=聽onAjaxSubmit(request,聽response,聽cmd,聽ex); 聽聽
  21. 聽聽
  22. 聽聽聽聽聽聽聽聽response.setContentType("text/Xml;charset=gbk"); 聽聽
  23. 聽聽聽聽聽聽聽聽PrintWriter聽out聽=聽null; 聽聽
  24. 聽聽聽聽聽聽聽聽try聽{ 聽聽
  25. 聽聽聽聽聽聽聽聽聽聽聽聽out聽=聽response.getWriter(); 聽聽
  26. 聽聽聽聽聽聽聽聽聽聽聽聽out.println(object.toString()); 聽聽
  27. 聽聽聽聽聽聽聽聽} 聽聽
  28. 聽聽聽聽聽聽聽聽catch聽(IOException聽ex1)聽{ 聽聽
  29. 聽聽聽聽聽聽聽聽聽聽聽聽ex1.printStackTrace(); 聽聽
  30. 聽聽聽聽聽聽聽聽} 聽聽
  31. 聽聽聽聽聽聽聽聽finally聽{ 聽聽
  32. 聽聽聽聽聽聽聽聽聽聽聽聽out.close(); 聽聽
  33. 聽聽聽聽聽聽聽聽} 聽聽
  34. 聽聽
  35. 聽聽聽聽聽聽聽聽return聽null; 聽聽
  36. 聽聽聽聽} 聽聽
  37. 聽聽
  38. 聽聽聽聽public聽abstract聽JSONObject聽onAjaxSubmit(HttpServletRequest聽request,聽HttpServletResponse聽response,聽Object聽cmd, 聽聽
  39. 聽聽聽聽聽聽聽聽聽聽聽聽BindException聽ex); 聽聽
  40. 聽聽
  41. }聽聽

娉細JSONObject聽鏄痡son-lib-2.3-jdk15.jar涓殑锛岃鑷繁涓嬭澆瀵煎叆

聽聽聽 鏈枃鏄漿杞絟ttp://www.javaeye.com/topic/187504