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");
}