SpringMVC中的一些注解
@Controller:表明该类是一个Controller;
@RequestMapping(参数) :为类或者方法定义一个url
@RequestParam(value = "id" ):获取请求中的参数
package com.hongcong.controller; import java.util.ArrayList;
import java.util.List; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView; import com.hongcong.model.StudentModel; @Controller
//访问这个controller时,需要在url中加入/student
@RequestMapping("/student")
public class StudentController { private static List<StudentModel> studentList = new ArrayList<StudentModel>();
private int id =3;
static{
studentList.add(new StudentModel(1,"张三",11));
studentList.add(new StudentModel(2,"李六",13));
studentList.add(new StudentModel(3,"王五",14));
}
//访问这个方法时,url为../student/studentList
@RequestMapping("/studentList")
public ModelAndView studentList(){
//ModelAndView的作用是传递参数和页面跳转
ModelAndView mav = new ModelAndView();
//跳转到student目录下的studentList.jsp页面 注:lib目录下的页面无法直接访问
mav.setViewName("student/studentList");
//传递参数 页面可以通过jstl表达式等方法获取参数
mav.addObject("studentList", studentList);
return mav;
} @RequestMapping("/preSave")
//@RequestParam(value = "otype",required = false) String otype 是获取请求中的参数并且赋值给otype这个变量,其中参数required = true时,那这个请求必须要有otype参数,不然会报错
public ModelAndView preSave(@RequestParam(value = "id" ) int id,
@RequestParam(value = "otype",required = false) String otype){
ModelAndView mav = new ModelAndView();
StudentModel studentModel = new StudentModel();
if("update".equals(otype)){
for (StudentModel model : studentList) {
if(model.getId() == id){
studentModel = model;
break;
}
}
}
mav.addObject("studentModel", studentModel);
mav.setViewName("student/StudentUpdate");
return mav;
} @RequestMapping("/Save")
public String Save(StudentModel studentModel){
if(studentModel.getId() == 0){
this.id++;
studentModel.setId(this.id);
}else{
for (StudentModel model : studentList) {
if(id == model.getId()){
studentList.remove(model);
break;
}
}
studentModel.setId(id);
}
studentList.add(studentModel);
//重定向
return "redirect:/student/studentList.do";
}
}
SpringMVC中的一些注解的更多相关文章
- 在springMVC中使用自定义注解来进行登录拦截控制
1:java注解使用是相当频繁,特别是在搭建一些框架时,用到类的反射获取方法和属性,用的尤其多. java中元注解有四个: @Retention @Target @Document ...
- 关于springmvc中常用的注解,自己也整理一下
1.@Controller 在springMVC中@controller主要用在控制层的类上,之前只知道用注解开发的时候必须加一个@controller ,今天看了别的大佬整理的才知道为什么这么用,控 ...
- SpringMVC中的常用注解
RequestParam 作用: 用于 将请求参数区数据 映射到 功能处理方法的参数上. 属性: value 请求参数中的名称 required 请求参数中是否必须提供此参数. 默认值: ...
- springMvc中获取通过注解获取properties配置文件(转)
springMvc的项目中,通过注解@Value获取properties配置文件中的配置,使用该注解必须引入的包: spring-beans-4.1.4.RELEASE.jar 下面是需要在sprin ...
- SpringMVC中利用@CrossOrigin注解解决ajax跨域请求的问题
1. 什么是跨域 跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求. 2. 跨域的应用情景 当使用前后端分离,后 ...
- springmvc中的全注解模式
1.贴在类上: @Controller表明其是一个控制器 2.贴在方法上: @requestMapping("/xxx"): 标明请求要访问的方法的资源路径,,需以/打头.其中省略 ...
- springmvc 中常用的注解配置使用说明
很久没有用springmvc了,今天复习了一下,然后记录一下总结. @Controller 使用 @Controller 注释对将成为 MVC 中控制器的类进行注释并处理 HTTP 请求. @ ...
- 在springmvc中无法使用@value()注解
折腾了一下午,试了很多解决办法,就是死活不能扫描到properties文件.本来打算使用软编码的,尝试更改了全部jar包版本,还是无法解决. 后面想到了,spring和springmvc容器的加载顺序 ...
- SpringMVC中使用@ResponseBody注解将任意POJO对象返回值转换成json进行返回
@ResponseBody 作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区. ...
- SpringMVC中 解决@ResponseBody注解返回中文乱码
问题:在前端通过get请求服务端返回String类型的服务时,会出现中文乱码问题 原因:由于spring默认对String类型的返回的编码采用的是 StringHttpMessageConverter ...
随机推荐
- Excel技巧--提取中文字串
类似的,如果要提取上图第1列的商品,不要型号,如第2列. 可以考虑使用SEARCHB函数. searchb与search的区别,在于searchb函数以字节为单位搜索,search函数以字符为单位搜索 ...
- 配置Tomcat使用https协议(配置SSL协议)
配置Tomcat使用https协议(配置SSL协议) 2014-01-20 16:38 58915人阅读 评论(3) 收藏 举报 转载地址:http://ln-ydc.iteye.com/blog/1 ...
- Hello 2019
2019也要创造价值! 热爱生活!
- php正则表达式提取img alt/title标签并替换
有时我们需要对富文本编辑器中的img标签进行必要的处理以满足网站自身的需要,比如:根据站点关键词对页面内img的alt标签设定关键词,以下为提取并替换alt/title标签内容的正则: $title ...
- Struts2多文件上传原理和示例
一.创建上传文件的页面,代码如下所示 1.Struts2也可以很方便地实现多文件上传. 在输入表单域增加多个文件域:multifileupload.jsp <%@ page lan ...
- 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法
在centos中安装完第一个虚拟机后,一般习惯通过克隆的方式创建其它虚拟机,开后vmware无法发现网卡信息,系统认为这是重新安装,所以重新创建了一个新的网卡叫eth1. 并且用IFCONFIG-a查 ...
- bzoj5107: [CodePlus2017]找爸爸
Description 小A最近一直在找自己的爸爸,用什么办法呢,就是DNA比对.小A有一套自己的DNA序列比较方法,其最终目标是最 大化两个DNA序列的相似程度,具体步骤如下:1.给出两个DNA序列 ...
- Win10 使用MinGW-w64编译Tesseract4.0
一开始尝试使用mingw+msys编译tesseract, 但是苦于mingw-get安装的软件版本都太旧,要安装新版本只能下载源码编译安装. 在编译过程中遇到了很多麻烦,最后还遇到了包直接循环依赖问 ...
- cplusplus标准库
http://www.cplusplus.com/reference/ Standard C++ Library reference C Library The elements of the C ...
- rocketmq(三 java操作rocket API, rocketmq 幂等性)
JAVA操作rocketmq: 1.导入rocketmq所需要的依赖: <dependency> <groupId>com.alibaba.rocketmq</group ...