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 ...
随机推荐
- C语言堆栈入门——堆和栈的区别(转)
一.预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其 操 ...
- E4A 与JS交互事件无反应
今天碰到一个问题,E4A与JS的交互,调用JS函数后,事件没有任何反应,给JS赋值,会看到浏览框中有内容显示,但是事件为什么就没反应呢. 把官方的例程打开编译试了也不行. 后来在群中问了,原来是这里设 ...
- Win7下,nginx默认80端口被System占用,造成nginx启动报错
在win7 32位旗舰版下,启动1.0.8版本nginx,显示如下错误: 2012/04/02 13:55:59 [emerg] 7864#2376: bind() to 0.0.0.0:80 fai ...
- python基础知识16---函数补充
一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...
- 7.8 paint.c 程序
## 7.8 paint.c 程序 #include <stdio.h> #define COVERAGE 350 // 每罐尤其可刷的面积(单位:平方英尺) int main(void) ...
- Logic and Proofs--离散数学
Propositions: A proposition is a declarative sentence(that is, a sentence that declares a fact ) tha ...
- About Gnu Linker2
3.5.1 Simple Assignments symbol = expression ; symbol += expression ; The first case will define sym ...
- 朴素贝叶斯法(naive Bayes algorithm)
对于给定的训练数据集,朴素贝叶斯法首先基于iid假设学习输入/输出的联合分布:然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y. 一.目标 设输入空间是n维向量的集合,输出空间为 ...
- C#添加VisionPro控件问题
安装完VisionPro8.2版本以后,用VS2013调用时,没有默认在工具箱内,那么就需要手动添加了,选择菜单栏---->工具----->选择工具箱项,如下图所示: ...
- 检查邮箱IP是否在国际反垃圾邮件组织的黑名单中
有时候邮件发不出去,很有可能就是邮件服务器的IP被国际上一些反垃圾组织列入黑名单了,这时你可以通过返回的邮件判断是否进入黑名单,或者通过以下查询地址看是否被列入,然后一个个申请移除: http://m ...