SpringMVC视图、表单
来源:互联网 发布:如何提高淘宝权重 编辑:程序博客网 时间:2024/05/24 01:39
1、视图对象
不同类型的视图实现技术对应不同的View实现类,视图对象由视图解析器负责实例化,因为视图Bean是无状态的,所以不会有线程安全的问题。
2、视图解析器
视图解析器将一个逻辑视图名解析为一个具体的视图对象。
可以选择一种视图解析器或混用多种视图解析器,可以通过orderNo属性指定解析器的优先顺序,值越小优先级越高。其中ContentNegotiatingViewResolver默认是最高优先级,InternalResourceViewResolver默认是最低优先级。
SpringMVC会按照视图解析器的优先级顺序对逻辑视图名进行解析,直到解析成功并返回试图对象。
2、JSP和JSTL
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean>
3、Spring表单标签
通过Spring表单标签,可以很容易将模型数据中的表单/命令对象绑定到HTML表单元素中。
在使用表单标签之前,要在JSP页面添加一行声明:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
一般情况下,通过GET请求获取表单页面,通过POST请求提交表单页面,因此,获取表单和提交表单的URL是相同的。所以不需通过action属性指定提交的目标URL。
这些标签大都拥有以下属性:
1、path:用属性路径表示的表单对象属性,如userName,dept.deptName
2、htmlEscape:绑定的表单属性值是否要对HTML特殊字符进行转换,默认是true
3、cssClass:表单组件对于的css样式
4、cssErrorClass:表单组件的数据存在错误时,采用的css样式
关于复选框、下拉框和单选框与表单对象属性的映射问题。
当HTML页面中的所有复选框没有勾选时,表单提交所对应的HTTP请求报文不会包含该复选框的参数名,所以会造成表单数据绑定出现问题,无法调用表单对象的set方法。(如果这个表单对象已经缓存到session中,且原来是有值的,现在提交之后,没有勾选,并不会导致该属性被置为空,造成数据的不一致)
解决的办法是在每个复选框后添加一个隐藏组件,在对于的复选框名字前添加下划线,作为隐藏组件的名字。告诉SpringMVC存在这样一个复选框,保证服务器端的表单对象和页面中的表单组件数据的一致性。
- SpringMVC视图、表单
- SpringMVC-视图
- springmvc视图
- SpringMVC表单
- SpringMVC视图中的tiles视图
- UIActionSheet/表单视图
- 4、表单和视图
- springmvc多视图映射
- SpringMVC视图解析器
- SpringMVC视图解析器
- SpringMVC视图解析器
- SpringMVC视图解析器
- SpringMVC视图解析器
- SpringMVC 多视图解析
- SpringMVC 使用Excel视图
- SpringMVC视图机制详解
- SpringMVC视图解析器
- springMVC视图转发 总结
- oracle中扩充number类型
- 异步FIFO初学
- ROS+Gmapping+镭神智能激光雷达应用测试(N301-01B)
- [iOS] 写在前面
- 道路
- SpringMVC视图、表单
- Arnold渲染果冻效应Rolling shutter
- ACM 在有向无环图中求最长路径
- ubuntu 16.04.2 中安装eclipse
- vue饿了么学习-第十篇(header样式)
- 1564L:棋子正方行2
- 浅析多线程的对象锁和Class锁
- hash表(转侵删)
- rbenv vs rvm, 选择用哪个?