我想通过Java类调用Controller的方法,因此我可以返回特定的视图。在这种情况下,我有一个简短的ID列表;如果当前用户的ID不在该列表中,则重定向到视图invalidUser。

我可以使用Ajax或按钮在客户端进行操作:onclick="location.href='/invalidUser'

但是我不清楚如何从Java类调用ViewsController的invalidUser()方法。

我该如何在Java中使用invalidUserRedirect()方法?我正在考虑从HttpServletRequest获取基本URL,如下所示:Get Root/Base Url In Spring MVC,然后对baseUrl +“ / invalidUser”进行http调用,但这似乎不是正确的方法。

AuthService:

@Service
public class AuthService {

  public void invalidUserRedirect(HttpServletRequest request) {
    // Make call to invalidUser() in ViewsController
  }
}


视图控制器:

@Controller
public class ViewsController {
  @RequestMapping(value = "/invalidUser", method = {RequestMethod.GET})
  public String invalidUser() {
    return "invalid";
  }


}

最佳答案

控制器类是从浏览器中调用的。您不应该从服务类中调用Controller方法。您的控制器方法应调用调用您的服务类

10-08 08:52