Jquery发布json数据并在服务器端使用spring进行解释

时间:2012-10-21 09:44:53

标签: jquery json spring-mvc

我即将编写一个应用程序,我必须使用JSON发送jQuery数据,并在服务器端的spring控制器中对其进行解释。即使在如此多的路径和错误之后,我在服务器端解释数据时面临很多问题。我在stackoverflow也经历了很多帖子,但却找不到合适的答案。

是否首选将JSON格式的数据发布到spring?请告诉我。

即使您发布了解释如何在服务器端处理数据的链接,也会有所帮助。

4 个答案:

答案 0 :(得分:1)

JSON是一种在客户端和服务器之间来回传递数据的良好格式。查看反序列化以将格式良好的 JSON放入服务器上的对象中。

答案 1 :(得分:0)

这实际上取决于您将从客户端传递到服务器的数据。但是,是的,JSON对于一般数据而言是足够好的格式,我更喜欢它。

答案 2 :(得分:0)

从您的回答中不确定您面临的问题类型。假设您的主要问题是从jquery /任何其他来源发布json数据并解释它,解决方案如下:

  1. 创建一个实现Serializable接口的模型对象。 e.g。

    公共类帐户实现Serializable {

     private static final long serialVersionUID = 1913207428686438208L;
     String bankAccountNo ;
     String userName ;
    
    public String getBankAccountNo() {
        return bankAccountNo;
    }
    
    public void setBankAccountNo(String bankAccountNo) {
        this.bankAccountNo = bankAccountNo;
    }
    
    public String getUserName() {
        return userName;
    }
    
    public void setUserName(String userName) {
        this.userName = userName;
    }
    
    public void Account(){
    
    }
    

    }

  2. 2.使用请求映射路径注释您的控制器,例如

    @Controller("jsonController")
    @RequestMapping("test/")
    public class JSONController {
        @RequestMapping(method = RequestMethod.GET, value = "get/account/{name}", headers = "Accept=application/json")
        public
        @ResponseBody
        Account getAccount(@PathVariable String name) {
            // let's suppose findAccount() finds the account
            Account account = findAccount(name);
            return account;
        }
    
    @RequestMapping(method = RequestMethod.POST, value = "post/account", headers = "Content-type=application/json")
        public
        @ResponseBody
        String getAccount(@PathVariable String name) {
            // let's suppose saveAccount() persists the account
            saveAccount(account);
            return "success";
        }
    
    }
    
    1. 将jackson-mapper-asl.jar和jackson-core-asl.jar添加到库中。
    2. <context:annotation-config/>添加到您的applicationContext.xml文件中。
    3. 希望它有所帮助。

答案 3 :(得分:0)

这里我从我的最后添加了缺少的组件....如果下面的代码有任何问题,请更正它: 上下文xml文件:

    <mvc:resources location="/custom1/" mapping="/js/**" />
    <mvc:annotation-driven />
    <context:component-scan base-package="com.vk" />
    <context:annotation-config />    
    <bean id="JspViewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />     
</bean>

和以下javascript代码:

   $.ajax({url: "/JSONExample/post/account",
        type: "POST",
        data: {userName: "Sam" },
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function(result) {
        alert(result);
               }
        });