我有一个简单的Controller类,有两个方法:
@Controller
public class RegistrationController {
private RegistrationService registrationService;
@Autowired
public RegistrationController(RegistrationService registrationService){
this.registrationService = registrationService;
}
@RequestMapping(value = "/register", method = RequestMethod.POST, consumes = "application/json; charset=UTF-8")
public String register(@RequestBody Customer customer) {
registrationService.registerCustomer(customer);
return "redirect:login";
}
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login() {
System.out.println("Login page");
return "login";
}
}
Dispatcher servlet视图解析器配置:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
当我在/register
上使用json正文提交请求时,它正确注册了新用户,然后正确地重定向到第二种方法(在控制台中我可以看到“登录页面”)但是然后浏览器中的视图没有不要改为login.jsp
。当我只需键入localhost:8080 / login时,它会正确显示login.jsp
页面。我也尝试过返回new ModelAndView("login")
,但它也没有用。
答案 0 :(得分:0)
选项1: 尝试返回&#34;重定向:/ login&#34;而不是&#34;重定向:登录&#34;
选项2:尝试为重定向提供完整的完整路径,理想情况下,您可以返回重定向:/ login,这将重定向到相对于您的Web应用程序根目录的路径 - http://example.com/appName/login