我想通过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方法。您的控制器方法应调用调用您的服务类