html5 jsp 整合,Thymeleaf和springMVC的整合,实现html和jsp分别解析

一般情况下用了thymeleaf以后前台页面都会直接用html,蛋痛的我却希望做成html页面通过thymeleaf解析,jsp通过springMVC解析,于是乎有了这个例子。配置两个视图解析器,利用order属性先用thymeleaf,解析不了就换springMVC。实验发现光指着order并没有什么卵用,就自己写了个方法判断源文件是否存在,存在的话用thymeleaf,不在就找jsp去。感觉不是什么正统的方法,如果谁有好的方式就提出来我向您学习。

1.[代码]thymeleaf的视图解析器,注意order的位置

class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">

2.[代码]springMVC的视图解析器

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

value="org.springframework.web.servlet.view.JstlView" />

3.[代码]自己做的山寨判断源的方法,注意只发布war包的时候这破玩意儿不好使

package cn.agriculture.common.component;

import java.io.File;

import java.util.Locale;

import lombok.extern.slf4j.Slf4j;

import org.springframework.web.servlet.View;

import org.thymeleaf.spring4.view.ThymeleafViewResolver;

import org.thymeleaf.templateresolver.ServletContextTemplateResolver;

@Slf4j

public class ThymeleafViewResolverEx extends ThymeleafViewResolver {

@Override

public View resolveViewName(String viewName, Locale locale) throws Exception {

ServletContextTemplateResolver servletContextTemplateResolver = (ServletContextTemplateResolver)this.getWebApplicationContext().getBean("templateResolver");

servletContextTemplateResolver.initialize();

String prefix = servletContextTemplateResolver.getPrefix().substring(1);

String suffix = servletContextTemplateResolver.getSuffix();

//String str = getClass().getResource("/").toString().replace("file:/", "").replace("/WEB-INF/classes/", "");

//log.info("*****************************" + str);

log.info("-----------------------------" + this.getServletContext().getRealPath("/"));

File file = new File(this.getServletContext().getRealPath("/") + prefix + viewName + suffix);

if (!file.exists()){

return null;

}

return super.resolveViewName(viewName, locale);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值