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";
    }
}
时间: 2024-07-29 06:38:00

SpringMVC中的一些注解的相关文章

SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法

Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入 response的"Content-Type".一般的请求都是通过浏览器进行的,request heade

大佬教你在springMVC中使用dubbo注解配置的问题

问题,在controller中无法通过注解自动注入dubbo服务,但是在service中可以自动注入.package com.sl;br/>@Controllerpublic class P{br/>//期望注入dubbo服务@Reference(version="1.0.0")private I0 o;br/>//注入service@Autowiredprivate S s; @RequestMapping("p")public void p()

springMvc中获取通过注解获取properties配置文件

springMvc的项目中,通过注解@Value获取properties配置文件中的配置,使用该注解必须引入的包: spring-beans-4.1.4.RELEASE.jar 下面是需要在spring的配置文件中配置的内容 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns

在springMVC中使用自定义注解来进行登录拦截控制

1:java注解使用是相当频繁,特别是在搭建一些框架时,用到类的反射获取方法和属性,用的尤其多. java中元注解有四个: @Retention     @Target     @Document   @Inherited: 1 @Retention:注解的保留位置 2 @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 3 @Retention(RetentionPolicy.CLASS) //默认的保留策略,注解会在c

关于springmvc中常用的注解,自己也整理一下

1.@Controller 在springMVC中@controller主要用在控制层的类上,之前只知道用注解开发的时候必须加一个@controller ,今天看了别的大佬整理的才知道为什么这么用,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个model,然后把该model返回给对应的view进行展示. [email protected] @RequestMapping可以用在类或者方法上使用,主要是用来映

SpringMVC中的常用注解

RequestParam 作用: 用于  将请求参数区数据  映射到  功能处理方法的参数上. 属性: value  请求参数中的名称 required   请求参数中是否必须提供此参数. 默认值: true   表示必须提供, 如果不提供将报错 使用示例: jsp代码: <!-- requestParams 注解的使用 --> <a href="springmvc/useRequestParam?name=test">requestParam 注解</a

SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面

导包: 除了一些spring的包之外,还需要jackson-annotations.jar , jackson-core.jar , jackson-databind.jar 这三个包 开启@ResponseBody注解: 在 spring-mvc.xml 中通过<mvc:annotation-driven />开启@ResponseBody注解 使用@ResponseBody标注业务方法 package com.loger.controller; import java.util.Array

SpringMVC中利用@CrossOrigin注解解决ajax跨域请求的问题

1. 什么是跨域 跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求. 2. 跨域的应用情景 当使用前后端分离,后端主导的开发方式进行前后端协作开发时,常常有如下情景: 后端开发完毕在服务器上进行部署并给前端API文档. 前端在本地进行开发并向远程服务器上部署的后端发送请求.在这种开发过程中,如果前端想要一边开发一边测试接口,就需要使用跨域的方式. 3. 通过注解的方式允许跨域 非常简单,我们可以在Contro

在SpringMVC中使用@RequestBody注解处理json时,报出HTTP Status 415的解决方案

Spring的@RequestBody非常牛x,可以将提交的json直接转换成POJO对象. 正好今天有这样的需求,使用一下,结果一直报415,十分头疼. HTTP 415 错误 – 不支持的媒体类型(Unsupported media type) 我的angularJs是这样写的 $http({method: "POST", url: url; headers: {'Content-type': 'application/json;charset=UTF-8'}, data: sco