gpt4 book ai didi

java - 重置 spring url。提交表单两次后附加 URL

转载 作者:行者123 更新时间:2023-11-30 03:37:05 24 4
gpt4 key购买 nike

<form:form action="register/student.htm" method="post" modelAttribute="registerForm">
.....
</form:form>

当我最初提交此表单时,网址为

“loclhost:8080/SpringSchool/register/student.htm”

如果提交失败并且我再次提交,新的 url 将被附加并变为:

“loclhost:8080/SpringSchool/register/register/student.htm”

结果我收到 404 错误。如何重置 url,以便不附加 url 或者只是基本上使其工作?

@Controller
@RequestMapping("/register")
public class RegisterController {

@RequestMapping(method=RequestMethod.GET)
public ModelAndView registerPage(){

return new ModelAndView("registerStudent", "registerForm", new Student());
}


@RequestMapping(value="/student", method = RequestMethod.POST)
public ModelAndView registerStudent(@ModelAttribute("registerForm") final Student student, RedirectAttributes redirectAttr){
....
return new ModelAndView("registerStudent", "registerForm", student);

}

查看解析器

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>

最佳答案

如果您从“/”开始 URL,那么它表示上下文的根,但如果您从单词开始 URL,则意味着“从当前路径”。如果您在 URL 中添加“/”,您的问题就应该得到解决:

<form:form action="/${pageContext.request.contextPath}/register/student.htm" method="post" modelAttribute="registerForm">
.....
</form:form>

关于java - 重置 spring url。提交表单两次后附加 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27611424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com