主题:layout使用过程中,layoutContent无法解析,定界符占位符应该没问题

唐小苏 2019年08月14日 61

一、俩符号的配置

DELIMITER_PLACEHOLDER_START=${
DELIMITER_PLACEHOLDER_END=}
DELIMITER_STATEMENT_START=<%
DELIMITER_STATEMENT_END=%>

二、写 layout 的地方,文件:layout_left.html

<%
    layout("stats.html",{user:'主题'}){
%>
    hhhhhhhhhh
<%}%>

三、layout 渲染的地方 的地方,文件:stats.html

<div class="layui-row">     ${layoutContent}     <!-- 右边部分 -->     <div class="col-md10" id="col-right">         ...     </div> </div>

四、结果

QQ8.png


是我哪里使用有问题吗

ps: 论坛搜索结果好像把帖子回答数也算进去了,比如一个关键词只有一个帖子有,但是有3个回复,搜索结果把这3个回复也加上了,回复里面不一定有关键词,建议一个帖子只有一条搜索结果,这样应该是极好的 0.0

唐小苏 2019年08月15日

版本是

<dependency>
    <groupId>com.ibeetl</groupId>
    <artifactId>beetl</artifactId>
    <version>2.7.28</version>
</dependency>
唐小苏 2019年08月15日

这个是Spring配置

@Configuration
public class BeetlConfig {

    @Value("${beetl.templatesPath}") String templatesPath;//模板根目录 ,比如 "templates"
    @Bean(name = "beetlCfg")
    public BeetlGroupUtilConfiguration getBeetlGroupUtilConfiguration() {
        BeetlGroupUtilConfiguration beetlGroupUtilConfiguration = new BeetlGroupUtilConfiguration();
        //获取Spring Boot 的ClassLoader
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        if(loader==null){
            loader = BeetlConfig.class.getClassLoader();
        }
//        beetlGroupUtilConfiguration.setConfigProperties(extProperties);//额外的配置,可以覆盖默认配置,一般不需要
        ClasspathResourceLoader cploder = new ClasspathResourceLoader(loader,templatesPath);
        beetlGroupUtilConfiguration.setResourceLoader(cploder);
        beetlGroupUtilConfiguration.init();
        //如果使用了优化编译器,涉及到字节码操作,需要添加ClassLoader
        beetlGroupUtilConfiguration.getGroupTemplate().setClassLoader(loader);
        return beetlGroupUtilConfiguration;

    }

    @Bean(name = "beetlViewResolver")
    public BeetlSpringViewResolver getBeetlSpringViewResolver(@Qualifier("beetlCfg") BeetlGroupUtilConfiguration beetlGroupUtilConfiguration) {
        BeetlSpringViewResolver beetlSpringViewResolver = new BeetlSpringViewResolver();
        beetlSpringViewResolver.setContentType("text/html;charset=UTF-8");
        beetlSpringViewResolver.setSuffix(".html");
        beetlSpringViewResolver.setOrder(0);
        beetlSpringViewResolver.setConfig(beetlGroupUtilConfiguration);
        return beetlSpringViewResolver;
    }
}
唐小苏 2019年08月15日

应该是使用方式的问题,我换最新版3.0.10.RELEASE试了一下 ${user}也不会输出

唐小苏 2019年08月15日

问题已解决,访问的controller调用的页面是stats.html,不是layout_left.html,要调到layout_left.html才会加载 layout函数。

结贴。

THE   END  !

  • 闲大赋 :虚惊一场(2019年08月16日)