卜若的代码笔记系列-Web系列-MVC框架-如何通过url将一个带参数的请求传递给Controller-3005

1.上面讲了怎么将数据从Controller传递到jsp,现在就要讲从jsp传递到
Controller。
    为什么要研究这个课题呢,主要是这样的,我现在遇到了一个需求,
他是这样的:
    首先,你的客户端上传一个图片到我们的服务器上面,传递完图片之余,
还要传递这个传递人的身份。是谁传递的?
为此,我们需要传递图片之余,还要添加账号信息之类的用来识别这个图片是
谁传递的。
    好了,需求就介绍到这里。接下来我们需要考虑传递的方式。
    
    
    最简单的办法就是使用
    <form>标签
这里有个典型的例子(刚写的)

<form action = "requestPic.do" method="get">

<input type="text" name="Acc"><br>
<input type ="submit" value = "提交">
</form>

action将表单请求映射给Controller,从而我们可以在requestPic.do这个被
标记为该表单请求映射的函数里面去写策略。
ok,接下来我们需要思考的怎么获取值。

我们可以通过

@RequestMapping(value = "/requestPic.do")
    public ModelAndView requestPic(HttpServletResponse response,HttpServletRequest request)
    {
        
          System.out.println("23333" +request.getParameter("Acc"));
         return new ModelAndView( "success","mainCode","http://47.106.227.238:8080/MyWeb/showImage.png");
           
    }
来获取值。如果你要添加文件进行传输,可以参考下我之前写的mvc系列的文章,里面有说过这个例子。

2.通过表单传递数据是。。确实是非常方便。嗯。但是,很多情况下,我们都不是使用表单的。
我们更倾向于使用url之类的东西做数据交换,而不通过前端。
嘛,这种情况下,按照我目前所学的知识,也就只有json,和url传参可以尝试一下。
好吧,我和json八字相冲,现在先来研究下url

首先,我这里先提出一个程序员的第二守则:学会一针见血的提出问题。
我们来使用url,怎么传,怎么接收,这就是最核心的两个问题。
现在我们来讲怎么传。
组装url

<a href="requestPic.do?key=2333333">requestPic</a>

这样我们就能将请求分发给controller的同时,将键值传递出去。

怎么收?
当然是使用@RequestParam("key") String keyValue这个映射来接收啦


    @RequestMapping(value = "/requestPic.do")
    public ModelAndView requestPic(HttpServletResponse response,HttpServletRequest request, @RequestParam("key") String key)
    {
        
         System.out.println(key+"23333" +request.getParameter("Acc"));
         return new ModelAndView( "success","mainCode","http://47.106.227.238:8080/MyWeb/showImage.png");
           
    }
 

猜你喜欢

转载自blog.csdn.net/qq_37080133/article/details/82783231