总结了一些SpringMVC的一些重点知识,简单易懂02

  • 1.处理模型数据

如果跳转时需要带数据:V、M,则可以使用以下方式:
ModelAndView、ModelMap、Map、Model     ——数据放在了request作用域

@SessionAttributes、@ModelAttribute

示例:
ModelMap、                    ↓  放入request作用域中↓
public String testModelMap(ModelMap modelMap)     modelMap.put("student1", student);
Map、
public String testMap(Map<String, Object> map)        map.put("student2", student);
Model 
public String testModel(Model model)            model.addAttribute("student3", student);

2.将数据放入session
@SessionAttributes
//@SessionAttributes("student3")//如果在request中存放student3对象,同时该对象也放入session域中
@SessionAttributes(types = {Student.class, Address.class})//如果在request中存放student类型对象,同时该类型的对象也放入session域中
   
3.
@ModelAttribute    //在任何一次请求前,先执行ModelAttribute修饰的方法
1.经常在    更新时使用
2.在不改变原有的代码基础之上,插入一个新方法。
3.@ModelAttribute    会在每个方法执行前,均被执行一次,因为使用时需要注意。


map.put("student", student);
理解:1. key的值(student)去    匹配(参数的类型首字母小写)的值,
           2.    匹配成功之后,自动把  值   传给   匹配到的参数(student1) 
反向思维:key的首字母大写put(“student”xxxx)去匹配的参数类型(Student   xxx)完成传参。
           3.查询参数的值student   传入----public String testModelAttrribute(Student student)中。
   /**
     * 先查询张三信息
     */
    @ModelAttribute//在任何一次请求前,先执行ModelAttribute修饰的方法
    public void queryStudentById(Map<String, Object> map) {
        Student student = new Student();
        student.setId(31);
        student.setName("张三");
        student.setAge(31);
        map.put("student", student);
    }
    /**
     * 修改    Zs-ls
     * 没有放入requst域,使用@SessionAttributes会报错,所以请先注释后再测试修改。??有疑问
     *
     * @param student
     * @return
     */
    @RequestMapping("/modelAttrribute")
    public String testModelAttrribute(Student student1) {
        student1.setName("李四");//将名字修改为李四
        System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getAge());
        return "/view/success";
    }
也可以@ModelAttribute("student")匹配
public String testModelAttrribute(@ModelAttribute("student") Student student)
@ModelAttribute("student")    student为map里面key值

  • 2、视图、视图解析器

视图的顶级接口:View
视图解析器:ViewResolver

常见的视图解析器:
InternalResourceView、InternalResourceViewResolver

public class JstlView extends InternalResourceView :
1.mvc解析jsp时,默认使用父类InternalResourceView ,
2.如果解析中发现jstl语言自动转为JstlView 

JstlView  可以解析jstl    实现国际化操作

  • 国际化:针对不同地区,国家,进行不同显示

中国(大陆、香港)  欢迎  
美国:        welcome

具体实现国际化步骤:
a.创建资源文件

基名_语言_地区.properties
i18n_zh_CN.properties
(1)中国:package_zh_CN.properties
(2)台湾:package_zh_TW.properties
(3)香港:package_zh_HK.properties
(4)美国:package_en_US.properties

internationalization
i18n     百度搜

java -jdk-bin目录下
native2ascii.exe

CMD执行,转为asc码     阿斯克码
C:\Users\Lenovo>native2ascii.exe
你好
\u4f60\u597d

b.配置springMVC,加载资源文件

猜你喜欢

转载自blog.csdn.net/qq_40585396/article/details/85247250