ssm框架 怎么用ajax查询从数据库读取数据 返回json格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssm框架 怎么用ajax查询从数据库读取数据 返回json格式相关的知识,希望对你有一定的参考价值。

用struts2,spring,mybatis框架做的项目。现在要用ajax从数据库里面读取表的全部数据,返回json数据类型。然后将数据返回到jsp页面进行输出。不知道怎么写配置文件和action,logic,dao,mapper的代码,求详细代码

$(function()
    $.ajax(
        url : 请求的路径(action),
        type : "post", //以Post方式发送请求
        data : 请求时发送的数据,
        dataType : json, //返回的数据类型
        async : true, //本次请求是否为异步请求
        success : function(返回的数据变量)
            //请求成功,执行的操作
        ,
        error : function()
            //请求失败,执行的操作
        
    );
);

/*
    1、action和你普通请求配置一样
    2、请求到后台后,该怎么处理也和普通请求一样,dao,mapper什么的都一样
    3、你返回的数据使用JSONObject类来包装,最后返回的时候把这个对象toString(),依赖的jar包在struts里面提供了
*/

追问

我已经在action用List格式取到了表里面的数据,我试着用JSONArray 把list类型的数据转换成json数组类型了。但是不知道怎么才页面调用,你写的这段代码能具体举个例子怎么修改吗?
我现在是用jquery在jsp里面写javascript
还有我在struts.xml里面配置了result type=json了 但是不知道有什么用。。。

参考技术A JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class,new JsonDateValueProcessor()); 
JSONArray json = JSONArray.fromObject(list,jsonConfig);
ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
getResponse().setCharacterEncoding("utf-8");
PrintWriter out = getResponse().getWriter();
out.write(json.toString());
Ext.Ajax.request( url : '.html',
params : eid : eid,
method : 'POST',
callback : function(options, success, response) 
var json = Ext.util.JSON.decode(response.responseText);
,
scope:this
)

我用的是ext.ajax  其他都一样

追问

能用jquery封装的ajax实现吗

追答$.ajax(    
       type: "POST",    
       url: ".action",    
       data: "name=" +  ,    
       success: function (data)     
          
            
)

参考技术B struts2 有插件,直接可以返回json的格式的追问

什么插件?是不是在struts.xml里面可以配置能返回类型成json?不知道怎么设置,也不知道设置好后怎么调用。。。

追答

你都采用别的回答了,就不要追问了。

谁知道怎么用ajax实现选择下拉框的时候动态从数据库读取数据吗

谁有这样的例子,麻烦给一个

我想实现这样的效果:上面有个下拉框,用户选择其中一个选项的时候,下面的表格会自动改动内容。

表格的内容是根据s_id的不同而变化,所以我需要在用户选择下拉列框后让s_id自动改变值,
并让表格自动根据s_id从数据库取数据。

加载这个表格是根据选择的s_id , 然后根据这个s_id从数据库取数据读进表格里。

怎么改动我的代码呢?我目前的代码实现不了

每次选择下拉框的时候去服务器查找数据.然后返回相应的内容.

参考技术A 先做一个JSP页面,就和你正常情况下根据ID查数据一样,得到ID,根据ID查询出数据。
循环出表格在页面上。
只是这个页面不会通过浏览器直接访问。
而是用ajax的异步去请求这个页面。

在你的当前操作页面上,定义一个div。
在取得responseText后,将responseText的值innerHTML给div。

当触发下拉的onchange事件,就发送一个异步请求,将ID传到服务端。

这样就可以动态改变了,不会刷新页面。

做起来挺简单的,只是我现在没有现成的代码。本回答被提问者采纳
参考技术B 楼上的回答和我想的查不多,我也需要这样的例子指导一下,希望知道的人能提供一个实例

以上是关于ssm框架 怎么用ajax查询从数据库读取数据 返回json格式的主要内容,如果未能解决你的问题,请参考以下文章

用SSM框架 HTML页面 ajax 怎么写一个从数据库获取数据的 二级联动的下拉菜单

SSM框架这里怎么带值返回到jsp,我想把返回值带回去

SSM框架,根据id查询一条数据的java代码怎么写

Ssm框架下怎么把数据库数据动态显示到前端页面?

SSM框架用JSON进行前后端数据传输

ssh框架web项目从页面点击一个按钮 到返回结果的全部过程是啥 求详细