2011-02-25 127 views
4

最近,我一直在研究构建Web应用程序的新框架。为此,我想试用Spring MVC。在评估一个框架的许多参数中,一个是我不想绑定到与框架相关联的标签库,以利用HTTP请求参数 - > Java bean转换。 Spring MVC文档反复提到可以仅使用JSTL查看相关事物,并且没有使用Spring标记,但是,我还没有找到一种方法来让Request-to-Bean翻译功能[SimpleFormController]在没有Spring标记的情况下工作。弹簧mvc表单处理不使用弹簧标签

截至目前,唯一的办法似乎是逐个提取请求参数并设置为我的bean。有没有办法使用框架相关标签来执行这个转换?

我感谢您的意见!

+0

您可以在哪里获得绑定?我有一个类似的问题[我的问题](http://stackoverflow.com/questions/11603619/data-binding-without-using-spring-taglib/11606189#11606189) – 2012-07-23 06:37:04

回答

1

弹簧标签是完全可选的。

阅读Spring Reference Document的第15,16和17章您可以使用注释来检索控制器的请求参数(请参阅第15.3节)。

+2

谢谢指出注释支持 - 但是,我正在寻找将特定表单映射到bean/model类的东西。如果有很多参数,使用'@ RequestParam'注解会变得非常麻烦。 – anirvan 2011-02-27 19:53:21

2

我使用没有Velocity模板的Spring Web MVC(非JSP模板)。要回答你的问题,你需要了解Spring如何执行数据绑定。基本上,这都是以你给你的输入元素的名义。 E.g

<input name="properytOne" value="1" type="hidden"> 
<input name="properytTwo" value="2" type="hidden"> 
<input name="rich.property3" value="3" type="hidden"> 

将值绑定到一个对象像这样

class CommandOne { 
    private String propertyOne; 
    private String popertyTwo; 
    private CommandTwo rich; 

    // Getters and setters 
} 

class CommandTwo { 
    private String propertyThree; 

    // Getters and setters 
} 

您还必须确保实例化你的命令对象,但会在你SimpleFormController处理。

0

根据我的理解,你试图实现的是将你的表单绑定到你的Bean类,这在JSF中很好地实现。 JSF适用于组件架构,并且非常易于入门,此外还有许多可用的组件构建器,例如primefaces,omnifaces,icefaces,openfaces等。自行设计的组件的可重用性可以在特定项目中帮助您。尝试给JSF一个机会。谢谢,希望这有帮助。

+0

哦,男孩,JSF是我会远离任何一天的东西。无论什么疑问在我脑海中留下的关于JSF的可怕性已被詹姆斯高斯林的这个神话般的谈话搁置 - http://youtu.be/9ei-rbULWoA?t=47m16s – anirvan 2013-04-30 12:28:50