当前位置: 首页 > 知识库问答 >
问题:

相当于web。Spring Boot MVC的xml?

何越
2023-03-14

JSP规范允许我使用. html文件作为JSP提供服务(也就是说,让容器将它们作为JSP文件处理)

<web-app …>
  <jsp-config>
    <jsp-property-group>
      <url-pattern>*.html</url-pattern>
    </jsp-property-group>
  </jsp-config>
</web-app>

但当我切换到使用嵌入式Tomcat运行SpringBootApplication时,它完全绕过了web。xml文件。在Spring Boot MVC中是否有一个等效的设置来根据标准的web设置JSP属性组的JSP配置。xml,它将配置现有的嵌入式Tomcat JSP servlet?

(我可能要配置的另一个JSP设置示例是<代码>

在您将其标记为重复之前,请仔细阅读。我知道walkeros的广泛答案。但该答案只考虑添加一个新的JSP servlet。它没有解决向现有JSP servlet添加新的JSP属性组的问题,并且确实没有提到


共有2个答案

郜光明
2023-03-14
匿名用户

更新的答案:

spring boot starter web不依赖web。xml,因此不能将两者结合使用。有一种使用web的方法。xml和Spring Boot,即所谓的“传统”做事方式,在这个示例项目中得到了演示。似乎您只需要使用spring boot starter,以及jsp/web框架(示例项目中的spring MVC),然后使用web。用于servlet配置的xml。

原始答案,与spring-boot-starter-web有关(不适用于. html-file):

要配置Spring boot如何查找视图文件,请在应用程序中使用这些属性。属性:

spring.mvc.view.prefix: /WEB-INF/views/
spring.mvc.view.suffix: .html

要查看Spring Boot支持的所有属性,请参阅此链接。跳转到SPRING MVC,找到与此案例相关的MVC。

冯哲彦
2023-03-14

您可能会找到一种让Spring Boot与XML配置一起工作的方法,但这并不是应该的方式。要将特殊的JSP配置应用于应用程序,可以按如下方式执行:

  • 创建一个实现JspConfigDescriptor的JSP配置类,例如:
public class MyJspConfigDescriptor implements JspConfigDescriptor {

    private Collection<JspPropertyGroupDescriptor> jspPropertyGroups =
            new LinkedHashSet<JspPropertyGroupDescriptor>();

    private Collection<TaglibDescriptor> taglibs =
            new HashSet<TaglibDescriptor>();

    @Override
    public Collection<JspPropertyGroupDescriptor> getJspPropertyGroups() {
        JspPropertyGroup newPropertyGroup = new JspPropertyGroup();
        newPropertyGroup.addUrlPattern("*.html");
        // You can add more configurations as you wish!
        JspPropertyGroupDescriptorImpl jspDescriptor = new JspPropertyGroupDescriptorImpl(newPropertyGroup);
        jspPropertyGroups.add(jspDescriptor);
        return jspPropertyGroups;
    }

    @Override
    public Collection<TaglibDescriptor> getTaglibs() {
        return taglibs;
    }

}
  • 通知您的SpringBootServletInitializer您想添加新的配置,您可以通过重写onStartup方法并将它们添加到那里来实现:
@Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        super.onStartup(servletContext);
        servletContext.getJspConfigDescriptor().getJspPropertyGroups().addAll((new MyJspConfigDescriptor()).getJspPropertyGroups());
    }

我相信这会起作用,但我没有真正测试它!

 类似资料:
  • 问题内容: 我知道(其中e是一个异常)会打印发生的异常,但是,我试图找到与Java等效的python,它可以将异常确切地跟踪到发生的那一行,并打印出整个轨迹。 谁能告诉我Python 的等效功能吗? 问题答案: 在块内执行此操作时,它将自动使用当前异常。有关更多信息,请参见http://docs.python.org/library/traceback.html。

  • 问题内容: 我正在使用Java进行编译器设计项目。进行了词法分析(使用jflex),我想知道哪种yacc类工具最适合(最有效,最易用等)进行语法分析,为什么这样做。 问题答案: 如果您特别想要类似YACC的行为(表驱动),那么我所知道的唯一一个就是CUP。 在Java世界中,似乎有更多的人倾向于ANTLR或JavaCC之类的递归下降解析器。 而且效率很少是选择解析器生成器的原因。

  • 问题内容: 具有向量化if / else的语义(类似于Apache Spark的/ DataFrame方法)。我知道我可以在pandas上使用,但通常会定义自己的API来代替原始函数使用,通常使用/更为方便。 果然,我发现了。但是,乍一看,它具有完全不同的语义。我找不到一种方法来重写使用pandas的最基本的示例: 我是否缺少明显的东西?还是将熊猫命名为一个完全不同的用例,尽管名称与相同? 问题答

  • 问题内容: Javascript中有与Java 方法等效的方法吗? 更新1 那么,零延迟会和完全一样吗? 问题答案: 如果要异步运行某些内容( 稍后 ),请尝试 JavaScript是单线程的。如果要在事件处理程序之外运行一些耗时(CPU密集型)的任务,则可以使用上面的技术来执行此操作,但是它仍然会占用事件处理线程(导致UI冻结)。 在浏览器中运行CPU密集型任务通常是一个坏主意(网络工作者可能会

  • 问题内容: 我有一行用于SQL Server的代码,它采用的日期列为“ YYYYMMDD”,其中DD为00,并将00转换为01,以便它与datetime一起使用。我希望能够使用MySQL 当前适用于SQL Server的代码: 但是isdate在MySQL中无效,该怎么解决? 问题答案: 您可以尝试使用STR_TO_DATE函数。如果表达式不是日期,时间或日期时间,则返回。

  • 问题内容: 是否有与 @Primary 等效的XML ,可以提升多个合格Bean之一 示例场景: 我有一个启用了自动配置功能的spring-boot应用程序。我已经定义了多个数据源,但是spring无法选择其中一个数据源作为其默认值。 datasources.xml 问题答案: 属性具有属性: 并记住: 如果通过XML声明了-annotated类,则注释元数据将被忽略,而是被尊重。