二、springmvc前后台交互(转)

Java 发表评论


依旧接着上一篇文章中建立好的项目目录来学习,如果不是按照我上一篇博客来,配置文件方面可能会出问题(http://blog.csdn.net/zyf2333/article/details/77623537
接下来学习利用springmvc进行页面跳转,这里主要是用注解的方式来进行,依旧会写上点我个人的理解。(原出处:http://blog.csdn.net/lxfhahaha/article/details/64443549

1.简单的跳转

首先是index.jsp写个跳转,然后在views目录下创建一个test1.jsp
这里写图片描述
这里写图片描述
接着在controller目录下创建mainController.java,并利用注释进行跳转
简单说明下运行机制吧。首先这个mainController的类上面标明了@Controller,即表示设置成了个”控制器”,它能接受来自jsp的请求,然后利用本类里的方法进行操控,像本例中:首先接收来自”index.jsp”的”<a href="test/href1">“的请求,然后该类下的test1()方法利用@RequestMapping(“test/href1”)专门接受”a href”的请求,然后返回个”test1”,此处的test1经过applicationContext.xml的处理会变成”WEB-INF/views/test1.jsp”,于是”index.jsp”的连接就跳到“test1.jsp”了
这里写图片描述
这里写图片描述
效果如下:注意看路径,已经变了
这里写图片描述这里写图片描述

2)返回一个后台数据

在index.jsp添加一句跳转页面二,然后创建test2.jsp
这里写图片描述
这里写图片描述

在mainController中添加如下
这里写图片描述
在这里简单说明下运行机制:
依旧是先利用@RequestMapping专门接收”test/href2”的请求,但是此处用到了参数“Model model”,我的理解就是这个Model有点像Map,能够给jsp中待定的EL表达式添加值,比如此处用了它自带的addAttribute方法,给test2.jsp中的${data},传入了一个random随机数
这里写图片描述这里写图片描述

3)URL地址上显示数据,并传给后台

如果你回去看看,会发现,我们的网址基本就是”localhost:8080”,或者是”localhost:8080/test/href2”。这些网址都是我们自己设定的,没有带有任何数据。但是我们一般提交一个表单的时候,它是会在网址上显示出我们提交的信息的。如下(这里依旧是返回到test2的${data}):
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
运行机制说明:其实和第二点没多大区别,但是indes.jsp里添加了一段js。这段js就是说当我们点下按钮时候,那个链接会改变,比如此处我们就变成了”test/href3/data=阿萨德”,然后在mainController中,由于我们在运行前还不知道会传进来什么,于是我们便用EL表达式随便取名(比如此处取名chuan)。然后下面用到了@PathVariable注解,它的括号内的“chuan”要和${chuan}对应。由于它后面立马接上了 String data,所以这个${chuan} 的值会经过@PathVariable传递给data。然后这个data就会传给”data”。(后面还会用到和@PathVariable相似的@RequestParam注解。有兴趣看他们区别的同学我会在后面附上我以前看书时的笔记)

4)form表单之GET

创建test3.jsp
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
说明:此处我们用了@RequestParam标签,其实它作用和@PathVariable类似。区别就在于显示出的路径不同(可以参考下我以前的学习笔记http://blog.csdn.net/zyf2333/article/details/77281395)。而且我们可以看到,利用GET会把我们要提交的东西全部写在路径中了(即”t1=122&t2=658”),这很不安全,因此我们用POST

5)form表单之POST

其实和get类似,只需要改动几个小地方就好了
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
可以看到,路径上没有我们提交的信息内容了

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *