从零基础认识Controller控制页面跳转

Jsp页面跳转

当我们从静态页面向动态页面跨越,静态页面直接调用另一个页面的地址,就可以跳转到该页面。而动态页面则一般都需要通过Controller进行跳转,这样做可以将jsp页面的真实地址隐藏起来,提高安全性。

1.springmvc跳转的条件

  1. springmvc.xml中配置了视图解析器

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    bean>

    视图解析器可以在跳转的时候自动补全文件头部与尾部的内容(详见上一章)

    例如 /WEB-INF/jsp/home/index.jsp 在解析器的帮助下只需写成 home/index

  2. 文件放置在视图解析器指定的文件夹下,也就是/WEB-INF/jsp/

2.首页的跳转

  1. 编写一个PageController,做页面跳转

    /**
    * 页面跳转Controller
    * @author liyb
    */
    @Controller
    public class PageController {
    /**
     * 打开首页
     */
    @RequestMapping("/")
    public String showIndex(){
        return "index";
    }
    }

    当访问路径为/的时候,访问视图解析器下的index页面。

3.跳转到其他页面

    /**
     * 打开其他页面
     */
    @RequestMapping("/{page}")
    public String showPage(@PathVariable String page){
        return page;
    }   

@PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中,也就是{page}传到page中,因为url的跳转链接跟jsp的页面名相同:

                    
  • "attributes:{'url':'item-add'}">新增商品
  • "attributes:{'url':'item-list'}">查询商品
  • "attributes:{'url':'item-param-list'}">规格参数
  • item-add.jsp item-list.jsp item-param-list.jsp

    直接通过访问jsp名就可以访问该jsp页面

    从零基础认识Controller控制页面跳转_第1张图片

    你可能感兴趣的:(从零基础认识Controller控制页面跳转)