springmvc补充
来源:互联网 发布:赵氏孤儿知乎 编辑:程序博客网 时间:2024/06/05 00:32
- 代码(Model方式)
- 如果使用Model则可以不使用ModelAndView对象,Model对象可以向页面传递数据,View对象则可以使用String返回值替代。不管是Model还是ModelAndView,其本质都是使用Request对象向jsp传递数据
解决乱码问题
- post
在web.xml中加入:
<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>
- 对于get请求中文参数出现乱码解决方法有两个:
修改tomcat配置文件(tomcat\apache-tomcat-7.0.42\conf\servlet.xml)添加编码与工程编码一致,如下:
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
另外一种方法对参数进行重新编码:
String userName new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")
ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码
绑定参数
- 基本类型。也包括String
- pojo类型
- vo类型
- 重新封装一个pojo类
- jsp页面
- controller
绑定数组
- jsp页面
- vo
- controller
public String controll( Vo vo ){
…….}
绑定List
- jsp
- pojo
自定义转换器
- 日期有很多格式,所以springmvc没办法把字符串转换成日期类型。所以需要自定义参数绑定。前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestMapping标记的方法进行适配,并对方法中的形参进行参数绑定。在springmvc这可以在处理器适配器上自定义Converter进行参数绑定。如果使用
<mvc:annotation-driven/>
可以在此标签上进行扩展。- 提交的表单中不要有日期类型的数据,否则会报400错误
自定义Converter类
public class DateConverter implements Converter<String, Date> { @Override public Date convert(String source) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { return simpleDateFormat.parse(source); } catch (ParseException e) { e.printStackTrace(); } return null; }}
在springmvc.xml中配置
<!-- 加载注解驱动 --> <mvc:annotation-driven conversion-service="conversionService"/> <!-- 转换器配置 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="cn.itcast.springmvc.convert.DateConverter"/> </set> </property> </bean>
springmvc与struts2不同
- springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
- springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
- Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过reques域传输到页面。Jsp视图解析器默认使用jstl。
利用资源文件引入数据
- 定义一个sourse.properties文件(key-value 形式)
- 在springmvc.xml中配置
<!-- 引入字典资源文件 --> <context:property-placeholder location="classpath:sourese.properties"/>
- 在controller中
通过这种方式,就可以把配置文件中的值赋给resourse.
@value("${文件中的key名称}")private String sourse
阅读全文
0 0
- springmvc补充
- SpringMVC配置文件的补充
- springmvc的补充解释
- springmvc发布rest服务(springmvc配置补充)
- SpringMVC 注解(待补充)
- springmvc整合redis(补充一)
- 关于SpringMVC注解的一些补充说明
- 补充
- 补充
- 补充
- 补充
- 补充
- 补充
- 补充
- 补充
- 补充
- 补充
- 补充
- AngularJS 的Provider,Factory与Service实现依赖注入
- 内存对齐及位域
- Python——复制文件内容
- bash: 一键安装cuDnn
- 【设计模式】其他模式
- springmvc补充
- Intellij IDEA 中使用 MyBatis-generator 自动生成 MyBatis 代码
- win10系统的一种常见问题
- CodeChef ISCC2017 PATROL
- 在 linux下添加memcache扩展
- go项目目录结构
- DPDK 中断机制 eal_intr_handle_interrupts
- git分支原理
- HDU2503-a/b + c/d