国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Spring 3 mvc中返回pdf,json,xml等不同的view
Spring 3 mvc中返回pdf,json,xml等不同的view
博客分類: JAVA相關(guān)
spring
spring mvc就是好,特別是rest風(fēng)格的話,一個(gè)
org.springframework.web.servlet.view.ContentNegotiatingViewResolver就可以根據(jù)不同的場景返回不同的view了,比如返回json,xml,pdf等.馬上看代碼實(shí)現(xiàn)
先是一個(gè)簡單的pojo
Java代碼
package com.hmkcode.vo;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "person")
public class Person {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString(){
return "ID: "+id+" - Name: "+name;
}
}
注意使用@XmlRootElement標(biāo)簽之。
然后是controller:
Java代碼
@Controller
public class MyController {
@RequestMapping("/view")
public Person getPerson(Model model){
Person person = new Person();
person.setId(1);
person.setName("test");
model.addAttribute("person",person);
return person;
}
然后分別假設(shè)要導(dǎo)出為PDF的view,引入著名的itext了;
Java代碼
public class PdfView extends AbstractPdfView {
protected void buildPdfDocument(
Map model,
Document doc,
PdfWriter writer,
HttpServletRequest req,
HttpServletResponse resp)
throws Exception {
Person person = (Person) model.get("person");
doc.add( new Paragraph(person.toString()));
}
這里演示簡單往itext中寫入一個(gè)輸出而已;
然后是web.xml:
Java代碼
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
最核心的配置來了:
Java代碼
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1" />
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
<entry key="pdf" value="application/pdf" />
</map>
</property>
<property name="defaultViews">
<list>
<!-- JSON View -->
<bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
</bean>
<!--  XML view -->
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<constructor-arg>
<bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.test.Person</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
<!--  PDF view -->
<bean class="com.test.PdfView">
</bean>
</list>
</property>
<property name="ignoreAcceptHeader" value="true" />
t;/bean>
可以看到,其中使用的是:
org.springframework.web.servlet.view.ContentNegotiatingViewResolver,對(duì)其pdf,xml.json進(jìn)行分別的view設(shè)置,JSON用的是著名的jackyson去解析了;
最后,通過rest風(fēng)格的地址,比如http://localhost/view/view.json,返回json;
http://localhost/view/view.pdf,則導(dǎo)出到pdf,http://localhost/view/view.xml,
返回前端就xml了,真的十分方便
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Spring + Spring MVC + MyBatis 整合
解析mediaTypes+viewResolvers+viewResolvers
Spring 3.x MVC 入門3-1 -- 使用內(nèi)容協(xié)商來實(shí)現(xiàn)多視圖 示例
Spring學(xué)習(xí)日記 - 在spring mvc中集成tiles
SpringMVC返回json數(shù)據(jù)的三種方式
十九、 <mvc:annotation-driven />
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服