- 浏览: 270681 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
hongxingyaru_d5b032:
但是其中“这个Accept和Request Headers中的 ...
基于Spring MVC的Web应用开发(7) - Headers -
hongxingyaru_d5b032:
学习到了,感谢分享!
基于Spring MVC的Web应用开发(7) - Headers -
bo_hai:
总结的不错。
基于Spring MVC的Web应用开发(7) - Headers -
fendou3754:
那你也说一下spring-asm重新打包以后的源码怎么获取,尽 ...
spring将spring-asm重新打包原因 -
di1984HIT:
谢谢啊~学习了~~
JMS、AMQP实例讲解
本文介绍SpringMVC中的Convert,Convert是我认为的SpringMVC最吸引人,最优雅的特性,下面通过例子程序领略一下:
package org.springframework.samples.mvc.convert; import java.util.Collection; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat.ISO; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping("/convert/*") public class ConvertController { @RequestMapping("primitive") public @ResponseBody String primitive(@RequestParam Integer value) { return "Converted primitive " + value; } // requires Joda-Time on the classpath @RequestMapping("date/{value}") public @ResponseBody String date(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date value) { return "Converted date " + value; } @RequestMapping("collection") public @ResponseBody String collection(@RequestParam Collection<Integer> values) { return "Converted collection " + values; } @RequestMapping("formattedCollection") public @ResponseBody String formattedCollection(@RequestParam @DateTimeFormat(iso=ISO.DATE) Collection<Date> values) { return "Converted formatted collection " + values; } @RequestMapping("bean") public @ResponseBody String bean(JavaBean bean) { return "Converted " + bean; } @RequestMapping("value") public @ResponseBody String valueObject(@RequestParam SocialSecurityNumber value) { return "Converted value object " + value; } @RequestMapping("custom") public @ResponseBody String customConverter(@RequestParam @MaskFormat("###-##-####") String value) { return "Converted '" + value + "' with a custom converter"; } }
逐一方法看过来:
1.
@RequestMapping("primitive") public @ResponseBody String primitive(@RequestParam Integer value) { return "Converted primitive " + value; }
@RequestParam自动获取URL提交的参数名为value的值并赋值到Integer value变量,
访问"http://localhost:8080/web/convert/primitive?value=1"
浏览器显示"Converted primitive 1"
2.
// requires Joda-Time on the classpath @RequestMapping("date/{value}") public @ResponseBody String date(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date value) { return "Converted date " + value; }
@PathVariable自动获取URL路径中date/后面的值,判断该值是否满足ISO.DATE的类型(yyyy-MM-dd),最后将这个字符串转成Date value,
访问"http://localhost:8080/web/convert/date/2012-03-30"
浏览器显示"Converted date Fri Mar 30 00:00:00 CST 2012"
3.
@RequestMapping("collection") public @ResponseBody String collection(@RequestParam Collection<Integer> values) { return "Converted collection " + values; }
如果提交了同名参数的多个值(例如html的多选框),这些值会自动的封装到Collection<Integer> values里,
访问"http://localhost:8080/web/convert/collection?values=1&values=2"
浏览器显示"Converted collection [1, 2]"
4.
@RequestMapping("formattedCollection") public @ResponseBody String formattedCollection(@RequestParam @DateTimeFormat(iso=ISO.DATE) Collection<Date> values) { return "Converted formatted collection " + values; }
访问"http://localhost:8080/web/convert/formattedCollection?values=2012-03-30&values=2012-12-25"
浏览器显示"Converted formatted collection [Fri Mar 30 00:00:00 CST 2012, Tue Dec 25 00:00:00 CST 2012]"
以上说的都是convert简单类型,下面讲解如何convert自定义的Java类,写一个JavaBean类,该类有几个属性:
private Integer primitive; @DateTimeFormat(iso=ISO.DATE) private Date date; @MaskFormat("(###) ###-####") private String masked; // list will auto-grow as its dereferenced e.g. list[0]=value private List<Integer> list; // annotation type conversion rule will be applied to each list element @DateTimeFormat(iso=ISO.DATE) private List<Date> formattedList; // map will auto-grow as its dereferenced e.g. map[key]=value private Map<Integer, String> map; // nested will be set when it is referenced e.g. nested.foo=value private NestedBean nested;
注意到该JavaBean还嵌套了一个自定义的Java类NestedBean,该类的属性为:
private String foo; private List<NestedBean> list; private Map<String, NestedBean> map;
看一下详细用法:
5.
访问"http://localhost:8080/web/convert/bean?primitive=1"
浏览器显示"Converted JavaBean primitive=1"
6.
访问"http://localhost:8080/web/convert/bean?date=2012-03-30"
浏览器显示"Converted JavaBean date=Fri Mar 30 00:00:00 CST 2012"
7.
访问"http://localhost:8080/web/convert/bean?masked=(123)-456-7890"
浏览器显示"Converted JavaBean masked=(123) 456-7890"
8.
访问"http://localhost:8080/web/convert/bean?list[0]=1&list[1]=2"
浏览器显示"Converted JavaBean list=[1, 2]"
9.
访问"http://localhost:8080/web/convert/bean?formattedList[0]=2012-03-30&formattedList[1]=2012-12-25"
浏览器显示"Converted JavaBean formattedList=[Fri Mar 30 00:00:00 CST 2012, Tue Dec 25 00:00:00 CST 2012]"
10.
访问"http://localhost:8080/web/convert/bean?map[1]=a&map[2]=b"
浏览器显示"Converted JavaBean map={1=a, 2=b}"
11.
访问"http://localhost:8080/web/convert/bean?nested.foo=stephansun"
浏览器显示"Converted JavaBean nested=NestedBean foo=stephansun"
12.
访问"http://localhost:8080/web/convert/bean?nested.list[0].foo=stephansun"
浏览器显示"Converted JavaBean nested=NestedBean list=[NestedBean foo=stephansun]"
13.
访问"http://localhost:8080/web/convert/bean?nested.map[1].foo=stephansun"
浏览器显示"Converted JavaBean nested=NestedBean map={1=NestedBean foo=stephansun}"
14.
访问"http://localhost:8080/web/convert/value?value=1"
浏览器显示"Converted value object SocialSecurityNumber [value=1]"
15.
访问"http://localhost:8080/web/convert/custom?value=ab-cd-efgh"
浏览器显示"Converted 'ab-cd-efgh' with a custom converter"
评论
public void test(@RequestBody ArrayList<ConditionVo> conList){}
-->List<ConditionVo>
如何转化
public class ConditionVo {
/** 条件名(类型) */
private String conditionName;
/** 条件标题 */
private String conditionTitle;
/** 条件值 */
private String conditionVal;
/** 是否单选 */
private boolean single;
......
}
发表评论
-
《Pro Spring Integration》读书笔记
2012-06-02 11:30 0a -
基于Spring MVC的Web应用开发(12) - Form
2012-03-31 14:50 5976本节介绍SpringMVC中的表单,demo演示访问一个表单提 ... -
基于Spring MVC的Web应用开发(11) - Views
2012-03-31 13:13 8799在FileUpload一文中,我们初步了解了SpringMVC ... -
基于Spring MVC的Web应用开发(10) - Validation
2012-03-31 11:36 3173本文介绍SpringMVC的验证(validation),在C ... -
基于Spring MVC的Web应用开发(9) - Exceptions
2012-03-31 10:55 1768本文介绍SpringMVC中的异常处理,@Controller ... -
基于Spring MVC的Web应用开发(7) - Headers
2012-03-30 15:01 27357本文接上一篇文章,介 ... -
基于Spring MVC的Web应用开发(6) - Response
2012-03-30 10:56 36095本文讲解Spring MVC的Response,深入了解一下@ ... -
基于Spring MVC的Web应用开发(5) - Redirect
2012-03-26 15:10 17537本文介绍Spring MVC中的重定向(Redirect),先 ... -
基于Spring MVC的Web应用开发(4) - FileUpload
2012-03-20 21:17 35759上一篇文章介绍了Spring MVC如何处理静态资源文件,本文 ... -
基于Spring MVC的Web应用开发(3) - Resources
2012-03-20 16:22 6614上一篇介绍了在基于Spring MVC的Web项目中加入日志, ... -
基于Spring MVC的Web应用开发(2) - Log
2012-03-19 11:55 3591上一篇文章我们使用SpringMVC搭建了一个简单WEB项目 ... -
基于Spring MVC的Web应用开发(1) - HelloWorld
2012-03-16 07:21 18285MVC架构 MVC是模型(model),视图(view),控 ... -
spring-oxm中unmashaller疑似bug
2012-03-08 10:21 2558spring-integration中测试XML Transf ... -
spring将spring-asm重新打包原因
2012-03-06 13:41 8280以前就发现通过eclipse上面的m2e插件不能将spring ... -
Spring底层使用SAX解析XML配置文件
2012-02-29 01:28 6131最近在研究Spring源代码,在梳理spring-beans时 ... -
在Spring 3.1.0 M2中配置Hibernate事务失效?
2011-10-22 00:38 2187SpringSource与2011年6月8号发布了Spring ...
相关推荐
Spring MVC 是一个强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。在Spring MVC中,数据绑定是一项核心功能,它允许开发者将用户输入的数据与控制器中的对象属性进行关联,简化了数据处理的复杂性。...
Spring MVC 是一个强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。在Spring MVC 3.1.0版本中,它引入了许多改进和新特性,其中之一就是日期自动转换功能。日期自动转换使得开发者在处理HTTP请求参数时...
Spring MVC 是 Spring Framework 的一个重要模块,它实现了 MVC(模型-视图-控制器)设计模式,帮助开发者构建易于维护和扩展的 Web 应用程序。在 Spring MVC 中,控制器负责接收用户请求,并决定调用哪个模型来处理...
在本篇配置手册中,我们将介绍如何在Spring MVC的环境下配置DWR环境,这包括web.xml的配置、创建dwr.xml文件、添加DWR的jar包、形成推送函数类以及在前台页面引入对应的JavaScript文件。 首先,web.xml的配置是整个...
而`Converter`则更适用于Web应用程序,尤其是Spring MVC,它能处理更复杂的HTTP请求数据到模型对象的转换。 总结来说,`ConversionService`是Spring MVC中处理类型转换的核心,它可以通过`Converter`、`...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。在Spring MVC中,开发者可以利用模型-视图-控制器(MVC)架构模式来分离业务逻辑、数据处理和...
27.1. The “Spring Web MVC Framework” 27.1.1. Spring MVC Auto-configuration 27.1.2. HttpMessageConverters 27.1.3. Custom JSON Serializers and Deserializers 27.1.4. MessageCodesResolver 27.1.5. Static...
Spring框架则是一个广泛使用的全面的企业级应用开发框架,提供依赖注入、面向切面编程、事务管理等功能。将DWR与Spring整合,可以利用Spring的强大功能来管理和配置DWR组件,同时保持前后端交互的高效性。 在使用...
接下来,我们引入Spring的MVC框架进行Web开发。在`web.xml`中配置DispatcherServlet,这是Spring MVC的前端控制器: ```xml <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web....
<artifactId>spring-webmvc <version>5.3.9 <groupId>org.mybatis <artifactId>mybatis-spring <version>2.0.1 ``` #### 三、配置Spring+SpringMVC+Mybatis - **Spring配置**:通常在`...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在本示例中,"springmvc demo 可运行" 提供了一个基础的 Spring ...
Spring MVC中的数据转换是一个非常重要的概念,它对整个Web应用程序的开发和维护产生了深远的影响。今天,我们将深入了解Spring MVC中的数据转换机制,并详细介绍相关的知识点。 一、数据绑定 在Spring MVC中,...
- 添加Web应用所需的依赖,例如`javax.servlet`的`servlet-api`库,以及你的Web框架(如Spring MVC、Struts2等)。 - 确保在`<packaging>`标签内,将类型设置为`war`,表示这是一个Web应用项目。 3. **转换为...
1. **Spring**:这是一个全面的企业级应用开发框架,提供依赖注入(DI)、面向切面编程(AOP)等功能,使得代码更加模块化和易于管理。 2. **Spring MVC**:Spring框架的一部分,用于处理Web请求,提供了模型-视图-...
- **Struts**:是一个基于 MVC(Model-View-Controller)设计模式的 Java Web 框架。Struts2(通常简称 Struts)是 Struts 的下一代版本,它提供了更为灵活且强大的功能来构建动态的 Web 应用程序。 - **Hibernate**...
在开发Java Web应用程序时,Maven是一个非常重要的构建工具,它可以帮助我们管理项目的依赖、构建流程和打包。本文将详细讲解如何使用Maven创建一个新的Web项目,并调整项目结构以符合Maven的最佳实践。 首先,创建...
SSH(Struts2 + Spring + Hibernate)框架是Java Web开发中的一个流行组合,它提供了模型-视图-控制器(MVC)架构,并整合了强大的持久层框架Hibernate和业务层框架Spring。Eclipse作为一款强大的Java集成开发环境,...