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 ...
随机推荐
- Jquery 一个页面多个倒计时 实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Django框架 连接Oracle -ServerName方式报错
连接前: 修改后:
- 关于git merge,rebase合并的差别,以及*(no branch)的处理。
1.merge 在上篇介绍分支的时候有简单的说了一下分支的创建和合并,当时合并就是写的merge,这是依据两个不同分支的最后一次提交的commit对象c5,c7和两个分支的交叉点的commit对象c3 ...
- listener.starting()源码探究
容器启动时,监听器调用starting方法,本质是找到匹配的监听器,广播事件,开始监听 上节对寻找匹配监听器做了分析,其是这个过程比较重要的部分,本文开始监听,反而不是那么复杂,如下: 找匹配监听器就 ...
- JavaScript问题——在浏览器中每一个元素都有一个offsetParent属性,这个属性是什么?
原文链接http://www.cnblogs.com/zcjnever/archive/2011/04/21/2023133.html Javascript中的offsetParent属性 支持的浏览 ...
- rediscluster安装
Redis 3.2.1集群搭建 一.概述 Redis3.0版本之后支持Cluster. 1.1.redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2) ...
- 对话框--pop&dialog总结
pinguo-zhouwei/CustomPopwindow:(通用PopupWindow,几行代码搞定PopupWindow弹窗(续)): 1,通用PopupWindow,几行代码搞定PopupWi ...
- 3DAY 用户管理
0xff001用户/组管理 1.描述 用户和组: 系统上的每一个进程(运行程序)都是作为一个特定的用户运行的 每个文件都由特定的用户拥有 对文件和目录的访问受到用户的限制 与正在运行的进程相关联的用户 ...
- Spark下的FP-Growth和Apriori
基本概念 关联分析是一种在大规模数据集中寻找有趣关系的非监督学习算法.这些关系可以有两种形式:频繁项集或者关联规则.频繁项集(frequent item sets)是经常出现在一块的物品的集合,关联规 ...
- DocKer 创建容器 镜像端口映射失败
问题一: 我想使用同一个镜像创建多个容器,并映射端口出现以下错误,该怎么解决? docker: Error response from daemon: driver failed programmin ...