java– 了解在Spring MVC中使用@ModelAttribute和@RequestAttribute注释

java– 了解在Spring MVC中使用@ModelAttribute和@RequestAttribute注释,第1张

概述我是Spring MVC的新手.目前我正在研究Spring MVC Showcase,它演示了Spring MVC Web框架的功能.我有一些问题需要了解如何在此示例中处理自定义可解析的Web参数.在实践中,我有以下情况.在我的home.jsp视图中,我有以下链接:<a id='customArg' class='textLink' href='&lt

我是Spring MVC的新手.目前我正在研究Spring MVC Showcase,它演示了Spring MVC Web框架的功能.

我有一些问题需要了解如何在此示例中处理自定义可解析的Web参数.

在实践中,我有以下情况.在我的home.Jsp视图中,我有以下链接:

ID="customArg"  href="

此链接生成对URL的@R_502_6822@请求:“/ data / custom”

包含处理此请求的方法的控制器类具有以下代码:

@Controllerpublic class CustomArgumentController {    @modelattribute    voID beforeInvokingHandlerMethod(@R_502_6822@ServletRequest request) {        request.setAttribute("foo","bar");    }    @RequestMapPing(value="/data/custom",method=RequestMethod.GET)    public @ResponseBody String custom(@RequestAttribute("foo") String foo) {        return "Got 'foo' request attribute value '" + foo + "'";    }}

处理此@R_502_6822@请求的方法是custom().因此,单击上一个链接时,@R_502_6822@请求将由自定义方法处理.

我有一些问题需要了解@RequestAttribute注释到底做了什么.我认为,在这种情况下,它将名为foo的请求属性绑定到一个新的String foo变量.但是这个属性取自何处?这个变量是Spring采用的吗?

好的,我的想法是这个请求属性取自@R_502_6822@ServletRequest对象.我是这么认为的,因为在这个类中,我还有一个具有说话名称的beforeInvokingHandlerMethod()方法,所以看起来这个方法在@R_502_6822@ServletRequest对象中设置了一个名称= foo和value = bar的属性,然后所以custom()方法可以使用这个值.

实际上我的输出是:

Got ‘foo’ request attribute value ‘bar’

为什么在custom()方法之前调用beforeInvokingHandlerMethod()?

为什么beforeInvokingHandlerMethod()由@modelattribute注释注释?在这种情况下它意味着什么?

最佳答案RequestAttribute只是您在表单提交中传递的参数.让我们了解一个示例示例

假设我有以下表格

现在,如果我有下面的控制器,它与请求URL映射,并与表单提交映射,如下所示.

@Controllerpublic class CustomArgumentController {@modelattributevoID beforeInvokingHandlerMethod(@R_502_6822@ServletRequest request) {    request.setAttribute("foo","bar");}@RequestMapPing(value="/data/custom",method=RequestMethod.GET)public @ResponseBody String custom(@RequestAttribute("param1") String param1 ) {    // Here,I will have value of param1 as test in String object which will be mapped my Spring itself}
总结

以上是内存溢出为你收集整理的java – 了解在Spring MVC中使用@ModelAttribute和@RequestAttribute注释全部内容,希望文章能够帮你解决java – 了解在Spring MVC中使用@ModelAttribute和@RequestAttribute注释所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1250839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)