springmvc 使用InternalResourceViewResolver解析URL文件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/azhegps/article/details/99343282

最常用的URL文件应该就是我们的jsp页面了,InternalResourceViewResolver解析器可以解析该资源,配置如下

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

prefix和suffix属性可以指定资源页面的前缀和后缀,可以直接把资源位置定位到项目的/WEB-INF/下面。InternalResourceViewResolver默认是使用了InternalResourceView作为视图的实现类,如果你想使用JSTL标签的一些功能的话,例如使用这个,那就需要用JstlView来替换InternalResourceView了,具体的配置如下

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

下面举个例子,演示怎样把后台数据带到前端的jsp页面

@RequestMapping(value = { "", "/" })
    public String  whatPage(ModelMap modelMap) {

        List<Task> tasks = new ArrayList<Task>();

        Task t = new Task();
        t.setCreateTime(new Date());
        t.setTaskDetail("taskDetail");
        t.setTaskName("taskName");

        Task t1 = new Task();
        t1.setCreateTime(new Date());
        t1.setTaskDetail("taskDetail1");
        t1.setTaskName("taskName1");

        tasks.add(t1);
        tasks.add(t);

        modelMap.addAttribute("tasks", tasks);

        return "task/task";
    }


InternalResourceViewResolver会把返回值”task/task”加上配置好的前缀和后缀作为jsp视图的url路径,就像这样”WEB-INF/jsp/task/task.jsp”

前端我们新建一个tasks.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html >
<html>
<head>
<meta charset="UTF-8">
<title>任务测试页</title>
</head>
<body>

    <h1>hello task !!</h1>

    <table>

        <table>
            <c:forEach items="${tasks}" value="task">
               <tr>
                  <td>${task.taskName}</td>
                  <td>${task.taskDetail}</td>
                  <td><fmt:formatDate value = ${task.createTime } pattern = "yyyy-MM-dd" /></td>
               </tr>
            </c:forEach>
        </table>
    </table>

</body>
</html>

展开阅读全文

没有更多推荐了,返回首页