首页 > 解决方案 > 如何在没有 WEB.XML 的情况下编写 Sitemesh 配置

问题描述

项目启动时,网格站点在 web.xml 中运行。但现在我想在没有 web.xml 的情况下运行它,我删除了他。我写的代码似乎是正确的,但你可以告诉你哪里出错或没有写正确。他没有给我看sitemesh菜单模板

package adil.java.schoolmaven.config;

import org.sitemesh.builder.SiteMeshFilterBuilder;
import org.sitemesh.config.ConfigurableSiteMeshFilter;

public class MySiteMeshFilter extends ConfigurableSiteMeshFilter {

  @Override
  protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {

            builder.addDecoratorPath("/*", "/WEB-INF/decorators/homeDecorator.jsp") 

           .addDecoratorPath("/allStudents", "/WEB-INF/decorators/homeDecorator.jsp")
           .addDecoratorPath("/addStudents", "/WEB-INF/decorators/addStudentDecorator.jsp");




  }

}

Servlet 初始化器

public class ServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Value("${spring.servlet.multipart.max-file-size}")

    private int maxFileSize;

    @Value("${spring.servlet.multipart.max-request-size}")

    private int maxRequestSize;

    @Autowired

    private Environment environment;

    @Override
    protected Class<?>[] getRootConfigClasses() {

        return new Class[]{HibernateConfig.class/*, SecurityConfig.class*/};

    }

    @Override
    protected Class<?>[] getServletConfigClasses() {

        return new Class[]{WebMvcConfig.class};

    }

    @Override
    protected String[] getServletMappings() {

        return new String[]{"/"};

    }

    @Override
    protected Filter[] getServletFilters() {

        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return new Filter[]{characterEncodingFilter, new SiteMeshFilter()};
    }


  }

标签: javaspringjakarta-eesitemesh

解决方案


推荐阅读