導航:首頁 > 編程語言 > springmvc多視圖json

springmvc多視圖json

發布時間:2023-10-22 21:34:53

❶ springMVC,json視圖,返回的json數據有null值,怎麼過濾成空串

自己構建ObjectMapper注入進去,在ObjectMapper中設置NOT_NULL不轉換
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="" value="true" />
<property name="objectMapper">
<bean class="org.codehaus.jackson.map.ObjectMapper">
<property name="serializationInclusion">
<value type="org.codehaus.jackson.map.annotate.JsonSerialize$Inclusion">NON_NULL</value>
</property>
</bean>
</property>
</bean>

❷ springmvc怎麼返回json

SpringMVC返回json數據有三種方式x0dx0a1、第一種方式是spring2時代的產物,也就是每個json視圖controller配置一個Jsoniew。如: 或者同樣要用jackson的jar包。x0dx0a2、第二種使用JSON工具將對象序列化成json,常用工具Jackson,fastjson,gson。x0dx0a利用HttpServletResponse,然後獲取response.getOutputStream()或response.getWriter()x0dx0a直接輸出。x0dx0a示例:x0dx0a[java] view plain print?x0dx0apublic class JsonUtil x0dx0a{ x0dx0a private static Gson gson=new Gson(); x0dx0a /** x0dx0a * @MethodName : toJson x0dx0a * @Description : 將對象轉為JSON串,此方法能夠滿足大部分需求 x0dx0a * @param src x0dx0a * :將要被轉化的對象 x0dx0a * @return :轉化後的JSON串 x0dx0a */ x0dx0a public static String toJson(Object src) { x0dx0a if (src == null) { x0dx0a return gson.toJson(JsonNull.INSTANCE); x0dx0a } x0dx0a return gson.toJson(src); x0dx0a } x0dx0a} x0dx0a3、第三種利用spring mvc3的註解@ResponseBodyx0dx0a例如:x0dx0ax0dx0a[java] view plain print?x0dx0a@ResponseBody x0dx0a @RequestMapping("/list") x0dx0a public List list(ModelMap modelMap) { x0dx0a String hql = "select c from Clothing c "; x0dx0a Page page = new Page(); x0dx0a page.setPageSize(6); x0dx0a page = clothingServiceImpl.queryForPageByHql(page, hql); x0dx0a x0dx0a return page.getResult(); x0dx0a } x0dx0ax0dx0a然後使用spring mvc的默認配置就可以返回json了,不過需要jackson的jar包

❸ Spring MVC中數據模型是如何跟視圖代碼進行渲染形成網頁

從控制器獲取數據後,會裝載數據到數據模型和視圖中,然後將視圖名稱轉發到視圖解析器中,通過解析器解析後得到最終視圖,最後將數據模型渲染到視圖中,展示最終的結果給用戶。
用ModelAndView來定義視圖類型,包括JSON視圖,也用它來載入數據模型。ModelAndView有一個類型為ModelMap的屬性model,而ModelMap繼承了LinkedHashMap<String,Object>,因此它可以存放各種鍵值對,為了進一步定義數據模型功能,Spring還創建了類ExtendedModelMap,這個類實現了數據模型定義的Model介面,並且還在此基礎上派生了關於數據綁定的類——BindAwareModelMap,它們的關系如圖15-12所示。



視圖又分為邏輯視圖和非邏輯視圖,比如MappingJack-son2JsonView是一個非邏輯視圖,它的目的就是將數據模型轉換為一個JSON視圖,展現給用戶,無須對視圖名字再進行下一步的解析
InternalResourceView是一個邏輯視圖,對於邏輯視圖而言它需要一個視圖解析器

❹ 如何向springmvc傳遞兩個json字元串

在編寫頁面表單數據較多,並且很多input來自於循環,沒有對應的Pojo類與之映射。
在這種情況下,如果循環不是太多的話可以自己構建一個Pojo對象,然後使用SpringMVC的form標簽進行綁定。
但是表單過於復雜後這種方式代碼就顯得非常臃腫。所以採取在前端頁面將表單數據拼接成json字元串,然後傳遞到controller,controller中以字元串進行接收,再通過fastjson類似工具構建為json對象,然後進行解析。
下面開始具體操作
1.test頁面代碼
先編寫頁面,我們假設頁面有多個name和value屬性需要填寫,通過foreach循環來生成多個輸入框。該頁面的文件名為test.jsp

<form id="form1" method="post">
<c:forEach items="${list}" var="aa">
<input name="name${aa}"/>
<br/>
<input name="value${aa}"/>
<br/>
</c:forEach>
<button type="button" id="btn">提交</button>
</form>

2.test頁面controller代碼
對應的controller代碼為:

@RequestMapping(value = "/test")
public String test(Model model) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
model.addAttribute("list", list);
return"test";
}

主要完成生成list,返回到頁面。用於頁面循環生成input。
3.表單提交
為了完成json轉換後提交到後台,通過Ajax提交。

$("#btn").click(function () {
var formData = $("#form1").serializeArray();
var d ={};
$.each(formData, function() {
d[this.name] = this.value;
});
console.log(JSON.stringify(d))
$.ajax({
type: "post",
url:"/testResult",
data:"str="+JSON.stringify(d),
dataType: "json",
ContentType: "application/json;charset=UTF-8",
success: function (data) {
if (data && data.success == "true") {
window.location.href = data.view;
} else {
alert("error");
}
}
});
})
})

4.controller接收json
Controller中以字元串的形式進行接收,然後通過fastjson等工具轉換為JSONObject對象,然後再根據值的類型選擇相應的get方法進行取值即可。

@ResponseBody
@RequestMapping(value = "testResult",method =RequestMethod.POST)
public Map<String, Object> testResult(String str){
Map<String, Object> map = new HashMap<String, Object>();

//json字元串轉換為json對象
JSONObject jsonObject = JSONObject.parseObject(str);

//從json對象中取值,根據值的類型選擇get方法
jsonObject.getString("");

map.put("success", "true");
map.put("view", "#");
return map;
}

❺ spring mvc 怎麼獲取json

首先准備以下 jar包:
commons-logging-1.1.3.jar
jackson-core-asl-1.9.2.jar
jackson-mapper-asl-1.9.2.jar
spring-aop-4.0.6.RELEASE.jar
spring-beans-4.0.6.RELEASE.jar
spring-context-4.0.6.RELEASE.jar
spring-core-4.0.6.RELEASE.jar
spring-expression-4.0.6.RELEASE.jar
spring-web-4.0.6.RELEASE.jar
spring-webmvc-4.0.6.RELEASE.jar
其中commons-logging-1.1.3.jar,jackson-core-asl-1.9.2.jar,jackson-mapper-asl-1.9.2.jar均可在struts2的工具包中取得

導入以上包後,去web.xml中進行配置,配置文件如下:

以上jsp文件中出現了一個JSON.stringify()函數,此函數由jquery提供,作用在於將JSON數據轉換為字元串,之所以要這么做,原因在於服務端的@RequestBody只能識別字元串,而不能識別JSON對象

閱讀全文

與springmvc多視圖json相關的資料

熱點內容
java將數字轉換成字母 瀏覽:854
c盤中的哪些是系統文件夾 瀏覽:668
分布式服務如何跨庫統計數據 瀏覽:829
力控轉發數據客戶端模式如何建立 瀏覽:200
怎麼樣讓自己的網站不被別人看到 瀏覽:711
編程擴展效果如何 瀏覽:335
榮耀暢玩手環同步qq 瀏覽:475
怎麼向sql中添加資料庫 瀏覽:596
錄歌失敗重啟app什麼意思 瀏覽:522
壓縮文件包怎麼在微信發送 瀏覽:432
mysql資料庫怎麼插入時間值 瀏覽:191
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905

友情鏈接