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 ...
随机推荐
- libvirt启动报错Failed to start Virtualization daemon
libvirt启动报错Failed to start Virtualization daemon 1.启动libvirt的具体报错如下 [root@localhost IOS]# service li ...
- 通过excel创建表
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- IMU(LPMS-B2) ROS下使用教程
一.基本信息 http://www.alubi.cn/lpms-b2/ 安装ros教程 http://wiki.ros.org/lpms_imu https://lp-research.com/ros ...
- mysql binlog抽取某个表的数据
1.先把binlog文件转化为sql --base64-output=decode-rows -v > /var/mydiag.sql 2.抽取某一个表的数据 grep -B0 -A27 -w ...
- kafka 暂停消费
1.代码实现 kafkaListener 需要指定id,例如这里是:full-part-id. @KafkaListener(topics = "part-full-topic", ...
- Android Studio 1.0~3.3加载android源码 笔记
一. AS3.3上出现问题: 1. File Z:\Project\****\***\AndroidManifest.xml doesnt exist 分析引用: ------------------ ...
- IE6设置li的float:left,不能自适应宽的解决方法
原文地址:https://blog.csdn.net/u012299002/article/details/50589453 做个divcss页面,发现在IE6下,设置了li的float:left,L ...
- C# Directory.Exists() 文件存在但返回一直为false
备注:这是一个低级错误,起始真正的原因不是访问权限的问题. 真正的原因是:这个程序要读取远程电脑上共享文件夹里的文件,但是没有远程访问代码,导致找不到相关的目录.所以才报错! 查询一个文件,但程序突然 ...
- axure8.0激活
Licensee:米 业成 (STUDENT)Key:nFmqBBvEqdvbiUjy8NZiyWiRSg3yO+PtZ8c9wdwxWse4WprphvSu9sohAdpNnJK5
- photo型的object转byte[]
IEnumerable en = (IEnumerable) myObject; byte[] myBytes = en.OfType<byte>().ToArray(); TypeCon ...