Spring MVC结果转换

2023-11-04

一、返回视图——ModelAndView

1、视图路径
默认在当前Control的路径下,/表示项目部署的根目录。
例如:
new ModelAndView(“home.jsp”)返回的路径是/user/home.jsp
new ModelAndView(“/home.jsp”)返回的路径是/home.jsp

@Controller
@RequestMapping("/user")
public class UserController{

    @Resource(name="userService")
    private UserService userService;

    @RequestMapping(value="/home")
    public ModelAndView home(){
        return new ModelAndView("/home.jsp");
    }
}

2、视图解析器

常见的视图:jsp、freemarker、velocity

<!-- freemarker视图解析器的配置 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="suffix">
            <value>.ftl</value>
        </property>
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView
            </value>
        </property>
        <property name="contentType" value="text/html;charset=UTF-8"></property>
    </bean>
    <bean id="freemarkerConfiguration"
        class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <description>
            FreeMarker Config in web tier.
        </description>
        <property name="templateLoaderPaths">
            <list>
                <value>/WEB-INF/freemarker</value>
            </list>
        </property>
        <property name="freemarkerSettings">
            <props>
                <prop key="default_encoding">UTF-8</prop>
                <prop key="output_encoding">UTF-8</prop>
                <prop key="locale">zh_CN</prop>
                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
                <prop key="number_format">#</prop>
                <prop key="whitespace_stripping">true</prop>
                <prop key="classic_compatible">true</prop>
            </props>
        </property>
        <property name="freemarkerVariables">
            <map>
                <entry key="xml_escape" value-ref="fmXmlEscape" />
                <entry key="html_escape" value-ref="fmHtmlEscape" />
            </map>
        </property>
    </bean>


    <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />

    <bean id="fmHtmlEscape" class="freemarker.template.utility.HtmlEscape" />

常见视图解析器的配置,可参考:
http://blog.csdn.net/dearsny/article/details/45275709

二、返回String

<mvc:annotation-driven>  
    <mvc:message-converters>  
        <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
        <bean class="org.springframework.http.converter.ObjectToStringHttpMessageConverter"/>
    </mvc:message-converters>  
</mvc:annotation-driven>

三、返回JSON

1、使用jackson
首先引入jackson的jar包,然后添加下面的配置。

<mvc:annotation-driven>  
    <mvc:message-converters>  
        <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
    </mvc:message-converters>  
</mvc:annotation-driven>

2、使用fastjson
首先引入fastjson的jar包,然后添加下面的配置。

<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <constructor-arg value="UTF-8"/>
        </bean>
        <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
            <property name="charset" value="UTF-8"/>
            <property name="supportedMediaTypes">
                <list>
                    <value>application/json</value>
                    <value>text/html;charset=UTF-8</value>
                </list>
            </property>
            <property name="features">
                <list>
                    <value>WriteMapNullValue</value>
                    <value>QuoteFieldNames</value>
                    <value>WriteDateUseDateFormat</value>
                    <value>WriteEnumUsingToString</value>
                </list>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

四、静态资源的访问

对于html、css、js等静态资源,访问时,是不需要经过服务端处理的,也就是不需要让DispatcherServlet进行拦截,所以,静态资源的访问需要添加下面的配置。

<mvc:resources location="/resources/" mapping="/resources/**"/>
<mvc:resources location="/images/" mapping="/images/**"/>
<mvc:resources location="/js/" mapping="/js/**"/> 
<mvc:resources location="/css/" mapping="/css/**"/>

附:
/**的意思是所有文件夹及里面的子文件夹
/*的意思是所有文件夹,不含子文件夹
/的意思是web项目的根目录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC结果转换 的相关文章

随机推荐

  • websocket 注入 service对象的方法

    websocket注入service对象的方法 SpringBoot WebSocket SpringBoot WebSocket 本人使用 Autowired 发现注入不进去 断点发现service对象为null 猜测是 ServerEn
  • Android Https相关完全解析 当okHttp遇到Https

    一 概述 其实这篇文章理论上不限于okhttp去访问自签名的网站 不过接上篇博文了 就叫这个了 首先要了解的事 okhttp默认情况下是支持https协议的网站的 比如https www baidu com https github com
  • 输入网址后,会经历哪些步骤

    一 域名解析 DNS解析 通过主机名 最终得到该主机对应的IP地址的过程 叫做域名解析 DNS的解析步骤 参考文章 https blog csdn net Lammonpeter article details 81358387 1 检查浏
  • ESP32-C2模组使用AT固件示例

    ESP32C2 AT固件使用 ESP32 C2模组 如图1 1所示 图1 1 ESP32 C2模组 ESP32 C2开发板 如图1 2所示 图1 2 ESP32 C2开发 方案亮点 1 完整的 Wi Fi 子系统 符合 IEEE 802 1
  • vscode java导入jar包

    配置setting json include 列表中是jar包的路径 java project referencedLibraries include lib jar
  • jeesite4文件上传

    图片上传 一般情况下的图片上传 1 添加图片上传标签 2 修改service中的save方法 将图片保存到实体属性中 1 修改图片上传标签 修改后的如下 效果 将图片保存到对象的拓展表中 1 代码如下 2 注意事项 一般情况下的图片上传 1
  • el-table :span-method=“arraySpanMethod“ 合并单元格 vue3

    垂直方向上合并单元格 具体使用data就是接口获取的值表格数据 state rowMergeArrs rowMergeHandle state needMergeArr data span method arraySpanMethod co
  • 第10章 生物医学信号小波分析

    一 小波的定义及特点 二 连续小波变换 三 离散小波变换 第一部分是尺度函数 相当于低通滤波 第二部分是小波函数 相当于高通滤波 向下箭头是降阶处理 抽取法 四 心电信号的小波分析 去掉2 1 2 2 2 8对应的信号 然后进行重构 心电信
  • 你真的了解SEO搜索引擎优化吗?

    你真的了解SEO搜索引擎优化吗 小陈这就带你了解seo 说到SEO搜索引擎优化 谁都知道百度搜索引擎 谷歌搜索引擎 还有神马 搜狗等 朗朗上口 似乎都挺了解的 但你真的了解SEO搜索引擎优化吗 近日 小编看到了有关这方面的内容 茅塞顿开 想
  • C++实现弧度转角度,亲测可用

    代码在这里 拿走不谢
  • 最近大火的 prompt 论文集锦

    近来作为nlp领域新宠 prompt频频出现在大众视野 小编整理了一些优质论文 欢迎大家一起交流 1 论文名称 P Tuning v2 Prompt Tuning Can Be Comparable to Fine tuning Unive
  • Unity--Physics.OverlapSphere的参数LayerMask和GameObject的layer

    Layer介绍 Unity中是用int32来表示32个Layer层 int32表示二进制一共有32位 0 31 在Unity中每个GameObject都有Layer属性 默认的Layer都是Default 在Unity中可编辑的Layer共
  • buck芯片能产生负压吗?

    buck芯片能产生负压吗 1 前言 2 分析 1 前言 有的运放需要正负压供电 负压的产生一般是由电源芯片处理 将正压转换为负压 那么问题来了 buck能产生负压么 2 分析 开关电源有三种基本拓扑 buck boost buck boos
  • 敏捷开发系列之旅 第三站(认识FDD特征驱动开发)

    上篇文章中 我们探讨了 什么是XP极限编程 以及极限编程的管理思想 核心价值观等等 在敏捷开发之旅的第三站 我想要和大家一起分享FDD特征驱动开发方法 特征驱动开发 Feature Driven Development 还是老规矩 讨论之前
  • DALL·E 2 解读

    目录 一 导读 论文信息 CLIP 打通文本 图像模型 相关讲解 扩散模型Diffusion Model相关讲解 二 DALL E 2 模型解读 DALL E 2 模型总览 DALL E 2 训练过程 DALL E 2 推理过程 由文本生成
  • project 2007项目管理软件

    Microsoft Office Project 2007 项目管理软件 Microsoft Project 2003 2007是国际上最为盛行的基于网络的项目管理软件 在各类IT集成及开发项目 新产品研发 房地产项目 设计项目 工程建设项
  • Java性能调优笔记

    Java性能调优笔记 调优步骤 衡量系统现状 设定调优目标 寻找性能瓶颈 性能调优 衡量是否到达目标 如果未到达目标 需重新寻找性能瓶颈 性能调优结束 寻找性能瓶颈 性能瓶颈的表象 资源消耗过多 外部处理系统的性能不足 资源消耗不多但程序的
  • JSON中的key下划线与驼峰互转

    JSON中的key下划线与驼峰互转工具类 1 JSON中的key 下划线转驼峰 public final static Object underlineToHump String json Object obj JSON parse jso
  • WebGL射击游戏的优化

    myshmup com 允许在浏览器中创建 shmup 射击 游戏 我们可以使用具有创意通用许可证的资源或上传自己的艺术作品和声音 创建的游戏可以在网站上发布 该平台不需要编码 游戏对象的配置是在用户界面的帮助下执行的 后端是使用Djang
  • Spring MVC结果转换

    一 返回视图 ModelAndView 1 视图路径 默认在当前Control的路径下 表示项目部署的根目录 例如 new ModelAndView home jsp 返回的路径是 user home jsp new ModelAndVie