浏览 3477 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-09-20
最后修改:2014-09-20
@ResponseBody注解被应用于控制器方法的响应值上,可以为应用程序丰富便捷的功能,下面分别说明。 1.将字符串作为响应报文返回到客户端 public @ResponseBody String deleteRequester( String id) 可以在bboss-mvc.xml配置中全局指定响应String报文的字符编码: <property class="org.frameworkset.http.converter.StringHttpMessageConverter" f:responseCharset="UTF-8"/> 2.将对象作为json报文响应报文返回到客户端 public @ResponseBody(datatype = "json") List<POBean> getRequesters( String condition) bboss mvc可以将各种对象转换为json格式报文返回给客户端 3.将对象作为jsonp报文响应报文返回到客户端 public @ResponseBody(datatype = "jsonp") List<POBean> getRequesters( String condition) bboss mvc可以将各种对象转换为jsonp格式报文返回给客户端,jsonp报文与json报文类似,都是响应json格式的报文,区别就是jsonp报文方法可以接受跨站请求,而json报文方法不可以。 4.注解File对象提供文件下载功能 public @ResponseBody File downFile( String fileid) 5.注解Resource类型提供资源下载功能 包括以下类型: ClassPathResource -- 适用于应classpath下面的各种资源 ServletContextResource --适用于web应用根目录及子目录下的各种资源 FileSystemResource --适用于文件系统中各种文件资源 UrlResource --适用于url连接对应各种资源 ByteArrayResource--适用于二进制资源 例如: public @ResponseBody Resource exportExeclTemplate() throws Exception { String fileName = "com/sany/mms/background/action/exceldata.xls"; ClassPathResource classpath = new ClassPathResource(fileName); return classpath; } 6.注解FileBlob对象,实现文件、url资源的下载和浏览功能 下载:FileBlob对象主要是用来直接下载Blob对象和InputStream流对象,同时可以指定一个下载文件名,实例如下: public @ResponseBody FileBlob exportExeclTemplate() throws Exception { String fileName = "com/sany/mms/background/action/exceldata.xls"; FileBlob fb = new FileBlob ("exceldata.xls",new FileInputstream(new File(fileName)))//下载文件流 FileBlob fb = new FileBlob ("exceldata.xls",Blob对象) //实现对数据库blob对象的下载功能 FileBlob fb = new FileBlob ("test.xml",new URL("http://localhost:8080/bboss/test.xml"));//下载url地址对应的资源 return fb; } 浏览:通过FileBlob对象实现资源的浏览功能,实现浏览功能非常简单,设置FileBlob的rendtype属性值为FileBlob.BROWSER即可,例如: public @ResponseBody FileBlob exportExeclTemplate() throws Exception { String fileName = "com/sany/mms/background/action/exceldata.xls"; FileBlob fb = new FileBlob ("exceldata.xls",new FileInputstream(new File(fileName)))//下载文件流 fb.setRendtype(FileBlob.BROWSER) return fb; } @ResponseBody注解主要就这么多功能了,以后有更好的特性再加上去。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |