您好,登錄后才能下訂單哦!
這篇文章主要講解了“springmvc如何響應ajax數據請求返回json數據”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“springmvc如何響應ajax數據請求返回json數據”吧!
1、引入依賴
<!--鎖定所有spring的版本--> <properties> <spring.version>5.0.2.RELEASE</spring.version> <!--編譯版本修改--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.0</version> </dependency> <!--多視圖解析器--> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> </dependencies>
2、編寫實體類
private String name; private int age; private String password; @JSONField(format = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date date;
3、編寫controller控制代碼
/** * 返回java對象 * @param student * @return */ @RequestMapping("/testAjax") @ResponseBody public Student testAjax( Student student) { System.out.println("testAjax is working"); student.setName("tom"); student.setAge(23); student.setPassword("123456"); student.setDate(new Date()); System.out.println(student); return student; }
4、在springmvc中編寫配置json解析代碼
<!--配置spring開啟注解mvc的支持 *配置json格式轉化器 --> <mvc:annotation-driven> <mvc:message-converters> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <!--annotation-driven:左右如下 1、會自動注冊RequestMappingHandlerMapping、RequestMappingHandlerAdapter、ExceptionHandlerExceptionResolver三個bean支持使用了像@RquestMapping、ExceptionHandler等等的注解的controller 方法去處理請求。 2、支持使用了ConversionService的實例對表單參數進行類型轉換。 3、支持使用@NumberFormat、@NumberFormat等注解對數據類型進行格式化。 4、支持使用@Valid對javaBean進行JSR-303驗證。 5、支持使用@RequestBody、@ResponseBody。 -->
5、在response.jsp中發送ajax請求數據
$.getJSON("/user/testAjax",function (data) { console.log(data); })
測試代碼:
1、導入依賴如上相同
2、創建實體類
也就是在之前springmvc中表單提交的時候封裝對象的問題,遇見日期類型解決404的問題解決方案一
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date brithday;
private String name; private int age; private String password; @JSONField(format = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date date;
3、編寫測試代碼
@Test public void test1() throws Exception{ Man man = new Man(); man.setName("陳多多"); man.setAddress("重慶合川"); man.setBrithday(new Date()); Man man1 = new Man(); man.setName("陳多多"); man.setAddress("重慶合川"); man.setBrithday(new Date()); Man man2 = new Man(); man.setName("陳多多"); man.setAddress("重慶合川"); man.setBrithday(new Date()); //創建list集合轉為json List<Man> ps = new ArrayList<Man>(); ps.add(man); ps.add(man1); ObjectMapper objectMapper = new ObjectMapper(); String value = objectMapper.writeValueAsString(ps); System.out.println(value); } @Test public void test3() throws Exception{ Map<String, Object> map = new HashMap<String, Object>(); map.put("name","陳多多"); map.put("age",23); map.put("address","重慶合川"); ObjectMapper objectMapper = new ObjectMapper(); String value = objectMapper.writeValueAsString(map); System.out.println(value); }
}
測試結果如下:
list集合轉化出來是一個數組對象,map結合轉化出來和java對象一致
感謝各位的閱讀,以上就是“springmvc如何響應ajax數據請求返回json數據”的內容了,經過本文的學習后,相信大家對springmvc如何響應ajax數據請求返回json數據這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。