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

我可以在Spring为所有页面执行一次GetMapping吗

祁彬
2023-03-14

我有一个关于Spring Boot中的@GetMap的问题。

如果我有20个静态网页作为. html文件。我可以只使用一个@GetMap来获取每个页面吗?

例如:

@GetMapping("/{static_webpages}")
public String getWeb() { return "{static_webpages}";}

然后,当路径变为第1页时,它将得到第1页,依此类推。

共有1个答案

柳晔
2023-03-14

通过向方法中添加参数并使用PathVariable注释对其进行注释,可以提取网页的名称。

    @GetMapping("/{static_webpage}")
    public String getWeb(@PathVariable("static_webpage") String webpage) {
        ...
    }

您可能不想以字符串的形式返回网页的内容
通过使用ModelAndView对象作为方法的返回类型,方法将返回正确的网页。

    @GetMapping("/{static_webpage}")
    public ModelAndView getWeb(@PathVariable("static_webpage") String webpage) {
        ...
    }

现在我们可以构造ModelAndView对象来重定向到给定的网页。

    @GetMapping("/{static_webpage}")
    public ModelAndView getWeb(@PathVariable("static_webpage") String static_webpage) {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("webpages/" + static_webpage);
        return modelAndView;
    }

在本例中,静态网页保存在资源/静态/网页目录中,以便将它们分组到一个目录中。
如果您不想将它们分组到一个目录中,您只需将它们存储在资源/静态/中,尽管您必须小心,因为ModelAndView对象随后会尝试加载自己的Restendpoint,这将导致错误。

使用Spring。mvc。看法应用程序中的后缀属性。属性您可以提供一个后缀,该后缀将附加到您创建的每个ModelAndView网页上

spring.mvc.view.suffix = .html

这意味着不必访问网页myexamplepage。html您只需访问myexamplepage。

 类似资料:
  • 我正在做一个完整的网站重建。我已经从旧站点导入了所有的博客文章,但是导入的博客文章的“默认”设置是:Post Options>Sidebar Position>None(当在WP Post edit页面时)。 有没有对所有的帖子页面做一个全局更改?我希望所有页面都有一个右侧侧栏。 有几百个,所以我真的不想单独做。

  • 我之前已经实现过几次Spring批处理,但它设计为一天只运行一次。 现在,我有了一个新的要求,每当记录插入表中时,我都需要开始批处理。当插入新记录时,它将启动作业,批处理将生成PDF并将其保存在存储库中,并向用户发送邮件。 我不知道如何设计一天运行多次的spring批处理,或者在这种情况下使用spring批处理是否正确。有人能解释一下吗。谢谢

  • 使用Spring进行集成测试,我可以填充一个运行脚本的测试数据库,如下所示... 我使用的是JUnit4、Spring Boot、Java15、TestContainers。 我试过的事情... 我曾尝试在我的测试类扩展的类上使用,但它似乎在我的测试之后运行。 TestContainers确实有一个init脚本函数,但它只接受一个文件,这并不理想。 我也尝试过,但是出于某种原因,测试容器不喜欢这样

  • 我正在使用Spring,我有一个计划任务,可以对数据库进行一些操作。我发现这个任务是在每个池上执行的,而我只希望执行一次。例如,在我的日志文件中,我读到: 我有这样的配置: 这就是任务: 可能吗?谢谢

  • 问题内容: 例如,第三方库对该​​程序包使用非常复杂的目录结构。我可以一次导入它们吗?明星似乎只能导入一个目录级别。 问题答案: 假设您要询问是否可以执行以下操作: 那么答案是 否定的 。您可以进行的最大导入是带有星号的单个包装。 JLS(第7.5节)定义了导入语句的结构。 另外,对于编译器一次导入一堆软件包来说是有问题的。如果两个包提供相同的类型,两个包都被导入,并且在类中使用了该类型,则会发生

  • 我在我的类路径上有Spring Security性(并验证为我自己的REST控制器工作),但默认情况下,我的执行器endpoint都是公共可用的(除了关闭)。 我可以随心所欲地禁用endpoint(阅读完这个问题后),但启用的endpoint始终可用,无需验证,也无需管理所需的角色。安全我的属性中的角色。 即使我显式设置了endpoint。豆。sensitive=true例如,无需身份验证即可访问