微信小程式填坑之路之springmvc與小程式的資料互動(json)
springmvc框架寫到現在終於牽扯到小程式了(所以別說我“不務正業”),對於一個應用程式來說,它的本質其實就是無數個對資料進行增刪改查的操作,這裡起到至關重要的就是資料,於是這篇帖子的目的就是實現小程式與後臺資料的互動。
小程式使用的是wx.request的api來提交和接收資料,最常見的就是接收後臺傳過來的json資料,並對其進行解析
先看執行結果:
這裡總結springmvc框架的三種轉json方法
後臺 | 前臺 | 返回前臺的json格式 |
---|---|---|
物件/bean/實體類 | json | {“id”: 0,”username”: “”,”age”: 0} |
List<實體類> | json | [{“id”:1,”username”:”2”,”age”:1},{“id”:2,”username”:”3”,”age”:2}] |
Map<String,實體類> | json | {“success”:true,”detail”:[ ] } |
按步驟,從頭開始來:
後臺
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/ybajax.xml
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.mn</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
配置檔案 ybajax.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scanbase-package="action"/>
<!-- 註冊介面卡 -->
<beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<propertyname="messageConverters">
<list>
<beanclass="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>
<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">
<propertyname="prefix"value="/jsp/"/>
<propertyname="suffix"value=".jsp"/>
</bean>
</beans>
注意json需要對應的介面卡類
實體類:User.java (實現bean用到)和 Bean.java(實現List、Map用到)
package bean;
publicclassUser{
privateint id;
privateString username;
privateint age;
publicUser(){}
publicUser(int id,String username,int age){
this.id = id;
this.username = username;
this.age = age;
}
publicint getId(){
return id;
}
publicvoid setId(int id){
this.id = id;
}
publicString getUsername(){
return username;
}
publicvoid setUsername(String username){
this.username = username;
}
publicint getAge(){
return age;
}
publicvoid setAge(int age){
this.age = age;
}
}
package bean;
import java.util.ArrayList;
import java.util.List;
publicclassBean{
privateList<User> listuser=newArrayList<User>();
privateBean(){}
publicList<User> getListuser(){
return listuser;
}
publicvoid setListuser(List<User> listuser){
this.listuser = listuser;
}
}
AjaxAction.java
package action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
相關推薦
微信小程式填坑之路之springmvc與小程式的資料互動(json)
springmvc框架寫到現在終於牽扯到小程式了(所以別說我“不務正業”),對於一個應用程式來說,它的本質其實就是無數個對資料進行增刪改查的操作,這裡起到至關重要的就是資料,於是這篇帖子的目的就是實現小程式與後臺資料的互動。小程式使用的是wx.request的api來提交和接
微信支付開發填坑日常之支付祕鑰絕對路徑問題
如果你使用了微信的官方SDK,那我想其實你很容易發現這個問題 在微信官方PHPSDK中WxPay.Api.php這個檔案中,微信支付祕鑰這裡的路徑寫的是相對路徑 這樣這樣 點開路徑之後我們看到的是這樣這樣: 然而我們在生產環境的時候,微信要求這個路徑為絕對路徑,所以我們需要對Wx
Android微信分享再次填坑 error -6 一閃而過
三年前公司主力專案剛開始的時候要用到微信支付和微信分享,那個時候已經填過一次坑了,可惜當時填了就填了,忘記記筆記。。俗話說得好,好記性不如爛筆頭,這次新專案需要做微信分享的時候,又不小心踩回那個坑。。。 話說就是回到申請key的時候,我本來都有印象微信開放平臺建立應用的
微信分享功能填坑過程
要對H5頁面進行微信分享自定義標題,描述,圖片的開發,遇到各種坑,記錄下填坑的過程。 參考文章: http://www.jb51.net/article/98467.htm https://my.oschina.net/superkangning/blog/368043 h
【SSH進階之路】Struts + Spring + Hibernate 進階開端(一)
height 一段 ioc 效率 陽光大道 面向對象的思想 text ase 們的 Long Long ago。就聽說過SSH。起初還以為是一個東東,詳細內容更是不詳,總認為高端大氣上檔次,經過學習之後才發現,不不過高大上,更是低調奢華有內涵,經過一段時間的
如何學習爬蟲,我的爬蟲學習之路,怎樣學好爬蟲的,爬蟲認知篇(1)
作為一個小白來說,那就是---->我,看那多原理,等於天書,我看不懂,但是為啥是叫了解爬蟲,而不是懂裡邊內容,框架(Scrapy)怎麼寫的,我作為小白知道怎麼用,不就行了嗎,對不對,之後在瞭解深入.
spring原始碼學習之路---深度分析IOC容器初始化過程(三)
分析FileSystemXmlApplicationContext的建構函式,到底都做了什麼,導致IOC容器初始化成功。 public FileSystemXmlApplicationContext(String[] configLocations, boolean ref
【SpringBoot學習之路】08.Springboot配置檔案詳解(四)
轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】08.Springboot配置檔案詳解(四) 自動配置原理 配置檔案到底能寫什麼?怎麼寫?自動配置原理; 配置檔案能配置的屬性參照
【SpringBoot學習之路】07.Springboot配置檔案詳解(三)
轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾 【SpringBoot學習之路】07.Springboot配置檔案詳解(三) Profile多環境支援 Profile是Spring對不同環境提供不同配置功能的支援,可以通
【SpringBoot學習之路】06.Springboot配置檔案詳解(二)
轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾 【SpringBoot學習之路】06.Springboot配置檔案詳解(二) 配置檔案值注入 @Value獲取值和@ConfigurationProperties獲取值比較
【SpringBoot學習之路】05.Springboot配置檔案詳解(一)
轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】05.Springboot配置檔案詳解(一) 配置檔案 Spring Boot使用一個全域性的配置檔案 applic
演算法工程師修仙之路:吳恩達機器學習作業(一)
吳恩達機器學習筆記及作業程式碼實現中文版 第一個程式設計作業:單變數線性迴歸(python程式碼實現) 一元線性迴歸 問題描述 在本練習的這一部分中,您將使用只有單變數的線性迴歸方法預測餐車的利潤。 假設你是一家連鎖餐廳的執行長,正在
SpringBoot成長之路三:使用spring Cloud 搭建服務(client)
首先 我們需要進行專案(eureka客戶端)的搭建,實際上就是建造一個spring boot專案。 注意要點 1: pom檔案裡面還是初始的那些,但是 這個節點的版本號需要改成適應的,我這裡使用的是1.5.14的版本得,但是預設建立專案是2.0.X版本得,如果引入了
【Kaggle-MNIST之路】CNN+改進過的損失函式(三)
簡述 在上一個版本上的家裡CNN的框架。 呼叫了上面的框架。 目前: 分數:0.9160 排名:2400+ 框架程式碼 import pandas as pd import torch.utils
【成為Java開發大神之路】入職公司Java開發實習(1)
既然步入了Java開發這個坑,就要勵志成為這方面的大神,努力成為公司裡面數一數二的開發者。 入職實習1個月,特此記錄開發的成長學習心得。我的經歷希望幫助你我。持續更新。。。 ===========================================================
【SSH進階之路】Struts基本原理 + 實現簡單登入(二)
上面博文,主要簡單的介紹了一下SSH的基本概念,比較巨集觀,作為初學者能夠有一個整體上的認識,個人認為對學習有很好的輔助功能,它不僅僅是一個“瞭望塔”,更是檢驗是否真正掌握所有內容的一個前
java之二進制與數據類型(二)
bsp bre 進制 3.4 高精度 short ali word 部分 一、各數據類型的最大值和最小值整數:以byte為例,我們知道,byte共有8個bit位,最大值是0111111,最小值是10000000,用十進制來表示就是-128~127,即-2^7~2^7。依照上
Qt之與遊戲手柄的互動(一)
用途 通過手柄與Qt的通訊,傳送指令至遠端裝置,控制遠端裝置的運動。 手柄種類 市面上的遊戲手柄也有多種種類,主流的是藍芽手柄、2.4g手柄和usb手柄。2.4g手柄有的會識別出來是Xbox裝置,有的識
AVL樹的基本操作之插入(遞迴與非遞迴編碼)(2)
摘要:(1)插入的基本思路;首先遞迴的插入,插入完成之後,逐個返回,對於返回的每一個節點都要檢查,是否該次插入是使得這個節點不平衡。為了簡化程式碼,定義一個Height()函式,用來處理該節點為NULL的情況。當該節點不平衡時,就要進行旋轉。根據插入元素與該節點
微信小程式填坑之路(三):佈局適配方案(rpx、px、vw、vh)
因為小程式是以微信為平臺執行的,可以同時執行在android與ios的裝置上,所以不可避免的會遇到佈局適配問題,特別是在iphone5上,因為螢幕尺寸小的緣故,也是適配問題最多的機型,下面就簡單介紹幾種適配方法。 rpx適配 rpx是小程式中