我继承了一些Java Spring MVC代码,它在表单提交中在Controller中执行内部重定向
例如:
表格已提交
/login_submit (POST request)
成功时,它会在控制器内重定向: -
.....
return "redirect:"+"/user/home"
但是,由于它是内部代码而未使用<c:redirect>
或<c:url>
标记,因此HDIV无法使用
INVALID_ACTION错误
请帮助理解和解决此问题,而不要过多地更改遗留代码
非常感谢您及时回复!!!
答案 0 :(得分:0)
有两种方法可以实现它,
1)跳过验证:
@Configuration
@EnableHdivWebSecurity
public class HdivSecurityConfig extends HdivWebSecurityConfigurerAdapter {
@Override
public void addExclusions(ExclusionRegistry registry) {
registry.addUrlExclusions("/user/home");
}
}
2)可以使用HDIV的处理器生成URL,如下所示,
LinkUrlProcessor urlProcessor = HDIVUtil.getLinkUrlProcessor(servletContext);
String processUrl = urlProcessor.processUrl(request, "/user/home");
return "redirect:"+processUrl;
我希望这可以解决问题。