问题解释:用过 Spring MVC tags 的朋友都知道,要想将 表单元素的 value 与 相应的 bean 属性对应,需要在 <form:form> 里设置 commandName,spring mvc 会根据这个值在 requestContext 或 sessionContext 里面查找相应的 model,但是这样会是每个 <form:form> 表单只能使用一个 model,这降低了使用的灵活性。
其实导致这一问题的原因是 spring mvc 根据 form tag 中 path 属性查找 bean 及其属性的算法。
在 spring mvc 的 AbstractDataBoundFormElementTag.java (名字真长)中的 getBindStatus 方法中有这么一句:
String pathToUse = (nestedPath != null ? nestedPath + getPath() : getPath());
其中的 nestedPath 默认为 "command.",就是默认的 commandName 加上一个点。如果设置了 commandName,nestedPath 的值就是相应的 commandName 加上一个点。而 path 的指就是相应 tag 中的 path 属性(像 input、select 等 tag 都是继承了这个 tag)。所以如果 nestedPath 不为空的话 pathToUse 就是 commandName.path。之后 spring mvc 就会根据 pathToUse 的值将 tag 的 value 和相应的 bean 的属性进行绑定。知道这一点我想你就知道如何是 spring mvc tag 支持多 model 了。
具体怎么做这里就不说了。懒了,呵呵。
分享到:
相关推荐
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
精通Spring MVC 4 中文
本文详细介绍spring MVC的原理和开发心得体会。
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...
spring mvc4.1.4 源代码 spring mvc4.1.4 源代码spring mvc4.1.4 源代码spring mvc4.1.4 源代码spring mvc4.1.4 源代码
Spring-MVC-model(1) Spring-MVC-model(1) Spring-MVC-model(1)
关于构建Sping MVC的Jar包,包括Sping2.5.6和Hibernate3.6.8
The MVC in Spring MVC stands for Model-View-Controller, a design pattern widely used in Graphical User Interface (GUI) development. This pattern is not only common in web development, but is also ...
首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController ...
Spring MVC所需jar包,包含java开发中 Spring MVC架构中最常用的jar包
Spring-MVC-model Spring-MVC-model Spring-MVC-model Spring-MVC-model
Spring mvc jar包
spring MVC数据绑定 含例子 转载自疯芒毕露的专栏 刚开始用spring mvc 做web开发时 经常会不知道如何合适绑定页面数据 用惯struts2的朋友更认为spring mvc 绑定数据不如struts2方便 本人最开始也是这么认为 经过一段...
Servlet JSP和Spring MVC初学指南
《Spring MVC+MyBatis开发从入门到项目实战》分为4篇。第1篇是Java开发环境的搭建,包括JDK的下载与安装、环境变量的配置、MyEclipse的下载与基本配置。第2篇是MyBatis技术入门,包括剖析JDBC的弊端、MyBatis的背景...