我在一些项目中使用了spring mvc。根据我的经验,例如,在构建表单时,会使用各种html表单元素的弹簧等效物,例如使用弹簧表单而不是普通表单标记。我的理解是有必要的,这样如果后端控制器从请求属性为您构建业务对象,则可以创建表单元素和对象属性之间的映射。但是,我遇到了一个没有spring元素的普通html表单,后端控制器仍然构造了该对象。使用弹簧形式元素而不是常规形式元素的优点是什么?Spring MVC对象创建
回答
JSP标签通常只用于生成HTML。因此,“手动”生成与JSP标记生成的HTML相同的HTML会产生相同的结果:Spring无法知道它接收到的HTTP请求是否已由表单使用其自己的标记生成其他。
的优点是简洁,少重复:
<form:input path="name" />
更加简洁,并且有引入的bug更少的风险,比
<input name="name" type="text" value="<c:out value='${command.name}'/>" />
有的标签都比较先进,而且产生,例如,基于您为该标签提供的集合的一个<option>
元素的完整列表。
一如既往,通过阅读the documentation进行学习。
没错,但我想我的困惑是,在servlet中,您通常会手动从请求中检索参数,然后从中构建一个业务对象。只需在控制器方法中将业务对象指定为另一个参数,Spring就可以为您完成这项工作。在弹簧窗体标签的情况下,我不确定它是否会给你带来什么好处,而不是普通的html表格 – user1154644
从请求中填充对象只是基于请求参数工作:如果你的bean有一个属性foo和一个属性栏,Spring将使用名为foo和bar的请求参数来填充它们。就这么简单。 –
对,这很有道理。我见过一些地图作为spring控制器方法的参数,不太清楚这是如何工作的。对于简单的业务对象,我可以看到连接是如何建立的,但不是像地图这样的事情。 – user1154644
- 1. Spring-MVC,Hibernate:从域对象创建DTO对象
- 2. Spring @PathVariable Spring创建自定义对象
- 3. 动态创建MVC对象
- 4. 如何在Angularjs和Spring中创建json复杂对象mvc
- 5. Spring MVC,尝试编辑但创建新对象
- 6. 如何在Spring MVC中创建属性文件的List对象?
- 7. Spring MVC jsp对象列表
- 8. Spring MVC @RequestParam对象列表
- 9. Spring MVC的对象为空
- 10. Spring Roo的MVC:对象
- 11. 如何监视Spring对象的创建?
- 12. Spring运行时对象/ bean的创建
- 13. Spring JDO - makePersistent不返回创建对象
- 14. 用JQueryMobile创建Spring MVC
- 15. 错误创建Bean Spring MVC
- 16. 用maven创建的spring mvc
- 17. Spring MVC bean创建错误
- 18. MongoDB与ASP.NET MVC:创建MongoClient对象
- 19. MVC创建返回空对象
- 20. 在MVC中创建对象级权限
- 21. 保存新创建的对象ASP.NET MVC
- 22. 如何创建类对象在Asp.net MVC
- 23. Thymeleaf + Spring Boot:使用相关对象创建对象(Form&Return)
- 24. 如何在对象中创建对象Spring JPA(Jhipster)
- 25. Spring:春天访问的spring对象中是否有私人创建的对象?
- 26. ASP.NET MVC在创建对象上创建重复记录
- 27. 创建对象的对象
- 28. 创建创建空对象
- 29. Spring 3 MVC:如何在表单提交中创建表单支持对象?
- 30. 创建JSON对象并将其发送到控制器Spring MVC中
数据通过HTTP提交。在创建模型对象时,Controller不关心如何创建html。你问我们为什么使用标签库? –