【问题标题】:Spring, handling redirects, mappings, etcSpring,处理重定向、映射等
【发布时间】:2018-03-15 00:46:55
【问题描述】:

我想我有一个简单的问题要问你。我无法获得足够清楚的信息。

实际上,我有一个控制器,其中第一个 (@RequestMapping("/greeting")) 方法返回 index.html

但是第二种方法做的事情是第一种方法做不到的。

在这个方法之后我需要去/greeting所以到第一种方法,而不仅仅是返回一个模板index.html

由于这个 html 文件中的某些内容,它不会起作用。

【问题讨论】:

  • 我很难准确理解您想要什么。你是说你想使用某种方法,因为它做了一些有用的事情,但你不想要它的返回值,而是想要它内部具有的一些值?您可以将方法的那一部分作为单独的方法考虑出来吗?您可以尝试让问题更详细地说明情况,以使事情更清楚。
  • 第一个映射方法返回index.html,然后我有一个第二个映射方法,它将一些值插入到数据库中,之后我必须使用第一个方法,而不仅仅是index.html
  • 第二种方法可以调用第一种方法吗?如果你不想让第二种方法返回index.html,那么就不要返回调用的结果。

标签: java html spring thymeleaf


【解决方案1】:

直接根据调用结果返回页面怎么样?

@GetMapping("/greeting")
public String foo() {
   boolean success = someService.bar();   
   if (success) { //can be inlined as needed; shown for clarity
      return "index";  
   }
   someService.updateDb(); //change the name of the method accordingly
   return "greeting";
}

@Autowired
private SomeService someService; //can alternatively use constructor-injection

将您的复杂逻辑保留在服务层中。使用控制器路由请求。

【讨论】:

  • 感谢您的回答,但它不起作用。我刚刚找到了一个非常简单的解决方案。第二种方法应该return "redirect:/greeting"
猜你喜欢
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
  • 1970-01-01
相关资源
最近更新 更多