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

是否将属性添加到通配符请求映射路径?

衡安晏
2023-03-14

类似这样的东西,我不需要返回任何东西:

@RequestMapping(value = {"admin/**"}, method = RequestMethod.GET)
    public void adminPaths(ModelMap model) {
        model.addAttribute("user", getPrincipal());
    }

共有1个答案

漆雕彬彬
2023-03-14

可以在控制器中的方法上使用@modelattributes。方法上的@modelattribute表示该方法的目的是向所有控制器方法添加一个或多个模型属性:

@Controller
@RequestMapping("/admin")
public class AdminController {
...

    @ModelAttribute
    public void populateModel(Model model) {
        model.addAttribute("user", getPrincipal());
        // add more ...
    }

...
}

控制器中的@modelattribute方法在同一控制器内的@requestmapping方法之前调用。

对于真正的通配符匹配,可以在方法上一起使用ControllerAdviceModelAttributes。如下所示:

@ControllerAdvice(annotations = Controller.class)
public class AdminPopulatorAdvice {
        @ModelAttribute
        public void populateModel(HttpServletRequest request, Model model) {
            // examine the request
            // if its path contains /admin, then add attribute
            model.addAttribute("user", getPrincipal());
            // add more ...
        }
}
 类似资料:
  • Web 容器需要本章描述的映射技术去映射客户端请求到 Servlet(该规范2.5以前的版本,使用这些映射技术是作为一个建议而不是要求,允许servlet 容器各有其不同的策略用于映射客户端请求到 servlet)。

  • 问题内容: 我需要将所有js文件打包到web文件夹中。 我收到这样的错误, 它不是在搜索所有的js文件,而是在搜索* .js之类的文件。 问题答案: 该值应解析为特定文件或特定文件列表。 从webpack文档: 如果传递字符串:字符串将解析为在启动时加载的模块。 如果传递数组:启动时将加载所有模块。最后一个已导出。 如果您只是尝试定义一个模块,请编辑您的值以指向您的主应用程序文件,然后从中请求其他

  • 我知道有很多关于映射请求数据的问题,但这两个都帮不了我。所以,我试图实现的是一个映射到lambda的APIendpoint。当bucket触发404时,将转发到该endpoint的请求,并且参数通过请求路径传递给lambda,例如:/{image_name}/{width}/{height}。lambda的代码只调用 在集成请求中,我创建了三个映射模板:plain/text、plain/html、

  • 问题内容: 我正在使用“运行”->“运行”菜单从IntelliJ IDE运行一个简单的Java程序。它工作正常。现在,我想添加log4j日志记录。 我在项目根目录下添加了一个资源文件夹。我在该文件夹中添加了一个log4j.properties文件。我更改了代码以记录某些内容。 告诉IntelliJ在类路径中包含资源文件夹以便可以看到属性文件的正确方法是什么? 使用IntelliJ 8,我可以像喝醉

  • 我需要将源类中的字段值映射到字段属性。我可以使用Mapstruct使用@mapper注释的'expression'参数来完成 有没有其他方法可以不使用“表达式”来进行映射?

  • 问题内容: 我需要传递基于Ajax的帖子请求,但不确定如何才能以最佳方式完成。使用内部签入请求的平台(仅POST请求) 最初我想将其添加到标题中 这将使其可用于每个Ajax请求,但不适用于我的情况,因为in请求仍然以null形式出现。 我可以为所有处理类型的Ajax调用设置任何方法吗 编辑 如果我在Ajax调用中执行了类似的操作 一切正常。 我的问题是,我想将值作为请求参数而不是请求标头传递 问题