Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringMVC表单处理是如何工作的?_Java_Forms_Spring_Model View Controller - Fatal编程技术网

Java SpringMVC表单处理是如何工作的?

Java SpringMVC表单处理是如何工作的?,java,forms,spring,model-view-controller,Java,Forms,Spring,Model View Controller,我已经学会了如何使用SpringMVC3,但我对它的背景非常感兴趣。对我来说最有趣的事情之一是表单处理 到目前为止,我知道中的每个http请求都由dispatcher处理,并映射到适当的控制器。控件进行一些后台工作,然后选择要加载的JSPX页面,并向其发送属性。JSPX由容器(Tomcat等)编译到另一个servlet。而网页则以http响应发送回 在大多数情况下,这对我来说似乎没问题。但是,表单处理是不同的。在标记中,定义了映射到该标记的对象和属性。但在上面提到的逻辑中,它实际上从未被调用。我

我已经学会了如何使用SpringMVC3,但我对它的背景非常感兴趣。对我来说最有趣的事情之一是表单处理

到目前为止,我知道中的每个http请求都由dispatcher处理,并映射到适当的控制器。控件进行一些后台工作,然后选择要加载的JSPX页面,并向其发送属性。JSPX由容器(Tomcat等)编译到另一个servlet。而网页则以http响应发送回

在大多数情况下,这对我来说似乎没问题。但是,表单处理是不同的。在
标记中,定义了映射到该标记的对象和属性。但在上面提到的逻辑中,它实际上从未被调用。我的意思是,用户请求带有表单的页面。所以控制器渲染它。而不是用户发送表单,并且调度器调用一些save方法。但是,如果在JSPX中描述了未调用的输入属性,Spring如何知道如何映射这些属性呢


另外,如果您知道任何关于SpringMVC背景的好资源,最好是web资源,请发布一个链接。谢谢。

好吧,所有春季参考文献之王都在

关于MVC以及如何使用Spring标记构建页面,有很多章节

问题是,告诉你读书就像告诉你从消防水龙带里拿饮料一样。随着我越来越善于使用Spring,我了解到知道如何在Spring中做好一件事意味着知道如何在Spring中做好其他事情

这一切都值得学习,随着你对Spring了解的深入,Spring的真正优势也会显露出来

谷歌搜索“示例spring form”可以找到一些有用的示例,比如at,但这种学习方法的问题在于spring是不断进化的。我发现,从网络上的随机示例中学习是复杂的,因为有些人在Spring3可用之前,或者在注释可用之前发布示例,等等


对我来说,当我继续学习Spring时,还没有一个参考资料。它是主要的参考资料,在网上有很多例子,在这里阅读了很多问题,并发布了一些。

从你描述问题的方式来看,我想你知道HTTP的概念。然而,您似乎不太了解HTTP参数和请求属性及其生命周期


当用户请求页面时,将调用
控制器
中的方法,并将返回
视图
,与从
控制器
设置的请求属性一起显示。然后以
HTML
格式呈现视图。在这个
HTML
中,有一个表单被呈现。此表单的操作可能指向同一URL,也可能不指向同一URL。当请求被发回时,URL再次映射到控制器的方法(可以是具有不同方法的同一控制器,也可以是完全不同的控制器)。与第二个请求一起,表单中的这些参数将被发送到相应控制器的方法,并且与第一个相同的循环再次发生。

谢谢,但是我阅读了许多关于如何使用它的教程。我可以使用它:)我对它在后台的工作方式很感兴趣……哦,哇。我没有看到任何关于内部的东西(我没有问过!),但是我想你应该去看源代码。你说的没有调用的JSPX是什么意思?您认为HTML是如何生成的?是的,当表单呈现给用户时。但当用户发回数据时,这是另一个请求;这与JSP有什么关系?在任何情况下,表单值都带有名称。这些名称用于映射模型对象/etc。类型转换在表单和模型类型的字符串之间进行转换。