小编HKu*_*mar的帖子

接收json并反序列化为spring mvc控制器上的对象列表

我的代码如下:

调节器

@RequestMapping(value="/setTest", method=RequestMethod.POST, consumes="application/json")
public @ResponseBody ModelMap setTest(@RequestBody List<TestS> refunds, ModelMap map) {
    for(TestS r : refunds) {
        System.out.println(r.getName());
    }
    // other codes
}
Run Code Online (Sandbox Code Playgroud)

TestS pojo

public class TestS implements Serializable {
    private String name;
    private String age;
    //getter setter
}
Run Code Online (Sandbox Code Playgroud)

Json请求

var z = '[{"name":"1","age":"2"},{"name":"1","age":"3"}]';
$.ajax({
    url: "/setTest",
    data: z,
    type: "POST",
    dataType:"json",
    contentType:'application/json'               
});
Run Code Online (Sandbox Code Playgroud)

它给出了这个错误

java.lang.ClassCastException:java.util.LinkedHashMap无法强制转换为com.gogoair.cidb.entities.TestS

我使用的是Spring 3.1.2jackson 2.0.4

编辑:我想在我的控制器方法中接收TestS对象列表,并处理它们.我无法找到我发送错误的json或我的方法签名是错误的.

spring spring-mvc jackson

33
推荐指数
3
解决办法
10万
查看次数

使用IE8浏览器部署在jboss上的应用程序的ClientAbortException

我在Jboss部署的应用程序有以下异常,浏览器是IE8

2012-03-19 09:17:12,014 WARN  [org.apache.catalina.core.ContainerBase.jboss.web].         [localhost]] Exception Processing ErrorPage[errorCode=404, location=/internalError.jsp]
ClientAbortException:  java.net.SocketException: Broken pipe
    at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:327)
Run Code Online (Sandbox Code Playgroud)

似乎浏览器在服务器将internalError.jsp写入它之前关闭了套接字.请建议如何解决它,或至少我如何隐藏此异常.

谢谢Hikumar

java jboss jsp java-ee

6
推荐指数
1
解决办法
6237
查看次数

标签 统计

jackson ×1

java ×1

java-ee ×1

jboss ×1

jsp ×1

spring ×1

spring-mvc ×1