javaWeb页面中Ajax原始调用方法,及数据转换成Json的原始方法总结


          最近在项目中使用amcharts插件,用于数据表报显示柱状图什么的,结果该插件不知道怎么和jquery冲突什么的,逼得我用最原始的方法写Ajax。

  

 var xmlHttp = null;

    try {// Firefox, Opera 8.0+, Safari, IE7
            xmlHttp = new XMLHttpRequest();
        } catch (e) {// Old IE
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                alert("Your browser does not support XMLHTTP!");
                return;
            }
        }
        var url = '<%=path%>/shvc/graphJson/loadIndustryGraphData.action?peId=${peId}';
        xmlHttp.open("post", url, false);
        xmlHttp.send(null);
        
        var data=eval('(' + xmlHttp.responseText + ')');
        var chartData=data.getGraphList;

后台Java代码:

       

	public String loadIndustryGraphData(){
		
		List<PeGraph> industryGraphList=peGraphService.getIndustryPeGraphData(peId);
		String json = "{\"getGraphList\":[";
		for (PeGraph obj : industryGraphList) {
			json = json + "{\"graphName\":" +"'"+ obj.getGraphName() +"'"+ "," + "\"projectNum\":\""
					+ obj.getProjectNum() + "\",\"investSum\":\"" + obj.getInvestSum() + "\"},";
		}
		json = json.substring(0, json.length() - 1) + "]}";
		ServletActionContext.getResponse().setContentType("text/json; charset=utf-8");
		ServletActionContext.getResponse().setHeader("Cache-Control", "no-cache");
		PrintWriter out=null;
		try {
			 out = ServletActionContext.getResponse().getWriter();
			
			out.print(json);	
		} catch (IOException e) {
			
			e.printStackTrace();
		}finally{
			out.flush();
			 out.close();
		}
		return null;
	}
手动将数据转化成Json格式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于Mybatis和AjaxJavaWeb项目实现,可以从数据获取数据并将其显示在页面。 1. 首先,需要创建一个数据库表,例如“user”,包含id、name和age字段。 2. 接下来,需要创建一个JavaBean类User,用于将数据库表数据映射到Java对象。 ```java public class User { private int id; private String name; private int age; // getter and setter } ``` 3. 然后,需要创建一个Mybatis的映射文件UserMapper.xml,用于定义SQL语句以及与JavaBean类的映射关系。 ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="getAllUsers" resultType="com.example.model.User"> SELECT id, name, age FROM user </select> </mapper> ``` 4. 接下来,需要创建一个UserDao接口,用于定义数据访问操作。 ```java public interface UserDao { List<User> getAllUsers(); } ``` 5. 然后,需要创建一个UserDaoImpl类,实现UserDao接口,并注入Mybatis的SqlSessionFactory对象。 ```java public class UserDaoImpl implements UserDao { private SqlSessionFactory sessionFactory; public void setSessionFactory(SqlSessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } @Override public List<User> getAllUsers() { SqlSession session = sessionFactory.openSession(); try { UserMapper mapper = session.getMapper(UserMapper.class); return mapper.getAllUsers(); } finally { session.close(); } } } ``` 6. 接下来,需要创建一个Servlet类UserServlet,用于处理Ajax请求并调用UserDao获取数据。 ```java public class UserServlet extends HttpServlet { private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<User> userList = userDao.getAllUsers(); Gson gson = new Gson(); String json = gson.toJson(userList); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); } } ``` 7. 最后,需要在页面使用Ajax调用Servlet并将获取到的数据显示在页面。 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Mybatis and Ajax Example</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { $.ajax({ url : "user", type : "GET", dataType : "json", success : function(data) { var table = $("<table></table>").addClass("table"); var header = $("<tr></tr>").append( $("<th></th>").text("ID"), $("<th></th>").text("Name"), $("<th></th>").text("Age") ).appendTo(table); $.each(data, function(index, user) { $("<tr></tr>").append( $("<td></td>").text(user.id), $("<td></td>").text(user.name), $("<td></td>").text(user.age) ).appendTo(table); }); $("#userList").append(table); } }); }); </script> </head> <body> <h1>Mybatis and Ajax Example</h1> <div id="userList"></div> </body> </html> ``` 以上就是一个基于Mybatis和AjaxJavaWeb项目实现,可以从数据获取数据并将其显示在页面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值