-2

我即将编写一个应用程序,我必须JSON使用 post 发送数据jQuery并在服务器端的 spring 控制器中解释相同的数据。即使经过这么多的跟踪和错误,我在解释服务器端的数据时也面临着很多问题。我也浏览了很多帖子,stackoverflow但无法找到正确的答案。

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

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

4

4 回答 4

1

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

于 2012-10-21T10:01:25.977 回答
0

这实际上取决于您将从客户端传递到服务器的数据。但是,是的,JSON 对于一般数据来说已经足够好了,我自己更喜欢它。

于 2012-10-21T10:11:39.970 回答
0

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

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

    公共类Account实现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.用请求映射路径注释你的控制器,例如

@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 文件中。

希望能帮助到你。

于 2012-10-21T17:40:08.140 回答
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);
               }
        });
于 2012-10-22T09:08:20.063 回答