JQuery處理JSON(Struts1.2)

前提:java項目lib中引入json-lib-2.2.3-jdk15.jar

1.後臺Action的模擬JSON數據

import net.sf.json.JSONArray;
public class MeetingCommandAction extends DispatchAction {

	public ActionForward jsonQuery(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String key = request.getParameter("key");
		System.out.println(key);
		if (key != null && !"".equals(key)) {
			MeetingCommandDao dao = new MeetingCommandDao();
			//List list = new ArrayList();
			//list = dao.selectCommandByName(key);// selectCommandByName方法已經被聲明爲list型
			JSONArray jsonArray = JSONArray.fromObject(dao.selectCommandByName(key));
			System.out.println(jsonArray);
			//String data = "[{\"name\":\"Tom\",\"age\":22},{\"name\":\"Jerry\",\"age\":21}]";
			System.out.println("ok");
			try {
			PrintWriter out = response.getWriter();
			//response.getWriter().write(jsonArray.toString());
			out.print(jsonArray);
			out.flush();
			out.close();
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		/*
	    Enumeration<String> e =  request.getParameterNames();  
	    while(e.hasMoreElements()){  
	        System.out.println(e.nextElement());  
	    }  
		*/
		}
		return null;
	}

}
2.後臺DAO數據類中方法

public List<CommandDto> selectCommandByName(String lamp_dpid) {
	List<CommandDto> list = new ArrayList<CommandDto>();
	try {
		System.out.print(lamp_dpid);
		//String sql = "select * from pointvalue where dpid=?";
		String sql = "select * from pointvalue";
		con = DBConnection.getConnection();
		ps = con.prepareStatement(sql.toString());
		//ps.setInt(1, Integer.parseInt(lamp_dpid));
		rs = ps.executeQuery();
		while (rs.next()) {
			CommandDto dto = new CommandDto();
			dto.setDpID(Integer.toString(rs.getInt("dpid"))  );
			//dto.setCommandValue(rs.getString("dpposition"));
			dto.setCommandStatus(rs.getString("dpvalue"));
			list.add(dto);
			System.out.print(list.toString());
		}
	} catch (Exception ex) {
		log.info("查詢策略列表時錯誤..." + ex.getMessage());
		ex.printStackTrace();
	} finally {
		DBConnection.free(null, ps, con);
	}
	return list;
}
3.前臺jquery調用

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'add_ajax.jsp' starting page</title>
    <script src="${pageContext.request.contextPath }/js/jquery-1.6.min.js" type="text/javascript"></script>
     <script src="${pageContext.request.contextPath }/js/zDialog.js" type="text/javascript"></script>
      <script src="${pageContext.request.contextPath }/js/zDrag.js" type="text/javascript"></script>
      <script language="JavaScript">
<!--
function getUser(){
	function getStatusValues(){  
        $.ajax({  
                    type: "POST",  
                    contentType: "application/json",  
                    url: "${pageContext.request.contextPath }/meetingcommand.do?method=jsonQuery&key=38",  
                    data: "",  
                    dataType: 'json',
                    success: function(jsonArray) {  
                       $(jsonArray).each(function(i) {  
                           $('#tempravalue').append(window.parseInt(jsonArray[37].commandStatus));  
                        });  
                    }  
                });  
        }
}
//-->
</script>
  </head>
  
  <body>
     <input type="button" onClick="getUser()" value="獲取" />
     <div id="show"></div>
  </body>
</html>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章