zoukankan      html  css  js  c++  java
  • Rest接口和Thymeleaf的两个坑

    spring boot thymeleaf 热部署

    在使用spring boot 开发的时候,使用了Thymeleaf 作为前端的模板开发,发现在调试过程中,改动了Thymeleaf模板后,需要重新启动下项目,才可以立即生效
    解决办法:
    ctrl+shift+f9

     http://www.oschina.net/question/779083_2148086


    spring boot推荐支持,因为spring boot是快速开发,而thymeleaf又是原型即页面,所以从理念是接近的 

    单纯从效率上看,没有什么优势,而且用这种测试也不太准
    thymeleaf 的首次渲染比Beetl差的是数量级,后续的持续渲染,3.0版本是有很大提升的,也和Beetl也差不多
    优势是 html 的显示优势 前后端可以很好的分离,要是有很多的页面拆分(include 的部分)优势也不是很明显了

    是的,基本上都会抽出一些公用模版,所以这种优势并不明显,像引入的js,css

    如果配置了HttpMessageConverter,然后在@ResponseBody的接口的返回值使用JSON.toJSONString()转换过,输出的结果就会有以下提示

    解决办法:接口直接返回对象,Spring会调用已经配置的HttpMessageConverter将对象转换成json字符串

    另外一个解决地思路:http://blog.csdn.net/u010161082/article/details/46618947

    HttpMessageConvert配置示例:

        <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter4">
            <property name="supportedMediaTypes">
                <list>
            <value>text/html;charset=UTF-8</value>
                    <value>application/json;charset=UTF-8</value> 
                </list>
            </property>
            <property name="fastJsonConfig">
                <bean class="com.alibaba.fastjson.support.config.FastJsonConfig">
                    <property name="features">
                        <list>
                            <value>AllowArbitraryCommas</value>
                            <value>AllowUnQuotedFieldNames</value>
                            <value>DisableCircularReferenceDetect</value>
                        </list>
                    </property>
                    <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"></property>
                </bean>
            </property>
        </bean>

    http://blog.csdn.net/my_god_sky/article/details/53385246

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- 注意!SpringMVC的配置文件使用的是mvc命名空间 -->
    <beans:beans xmlns:context="http://www.springframework.org/schema/context"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:beans="http://www.springframework.org/schema/beans"
                 xmlns="http://www.springframework.org/schema/mvc"
                 xmlns:task="http://www.springframework.org/schema/task"
                 xmlns:mvc="http://www.springframework.org/schema/mvc"
                 xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
                http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd
              http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
    
        <context:annotation-config/>
        <context:component-scan base-package="com.mkyong.common.controller" />
    
        <annotation-driven>
            <message-converters register-defaults="true">
                <!-- @ResponseBody乱码问题,将StringHttpMessageConverter的默认编码设为UTF-8 -->
                <beans:bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <beans:constructor-arg value="UTF-8"/>
                </beans:bean>
                <!-- 配置Fastjson支持 -->
                <beans:bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                    <beans:property name="charset" value="UTF-8"/>
                    <beans:property name="supportedMediaTypes">
                        <beans:list>
                            <beans:value>application/json</beans:value>
                            <beans:value>text/html;charset=UTF-8</beans:value>
                        </beans:list>
                    </beans:property>
                    <beans:property name="features">
                        <beans:list>
                            <beans:value>WriteMapNullValue</beans:value>
                            <beans:value>QuoteFieldNames</beans:value>
                            <beans:value>WriteDateUseDateFormat</beans:value>
                            <beans:value>WriteEnumUsingToString</beans:value>
                        </beans:list>
                    </beans:property>
                </beans:bean>
            </message-converters>
        </annotation-driven>
        <beans:bean
                class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <beans:property name="prefix" value="/WEB-INF/"/>
            <beans:property name="suffix" value=".jsp"/>
        </beans:bean>
    </beans:beans>

    http://www.cnblogs.com/sunp823/p/5601397.html

  • 相关阅读:
    Oracle-通过创建索引加快SQL执行效率
    Oracle-DG,MRP进程无法正常应用问题处理,重启大法好
    Oracle-DG,12c pdb创建测试
    Oracle-DG,疑问主库添加日志后,备库未操作主库日志比备库日志数量多,有什么影响?
    Oracle-DG疑问,什么情况下主库会发出一个会话连接备库
    Oracle-DG 主库将log_archive_dest_state_2远程归档线程参数设置为defer,为什么dg还是处于实时同步状态?
    Oracle-rm误删除数据文件,如何强制删除文件启动db
    Oracle-buffer cache过小导致SQL执行时间长
    win10下完全卸载-重装MySQL
    VSCode配置详细教程
  • 原文地址:https://www.cnblogs.com/softidea/p/7050902.html
Copyright © 2011-2022 走看看