在Spring 3.1下运行相同的代码。刚刚升级到3.2,现在出现以下问题:
<form:form id="customerLoginForm" commandName="customerLoginForm" action="/login" name="">
3.1下的将生成以下HTML:
<form id="customerLoginForm" action="/login" method="post">
现在生成:
<form id="customerLoginForm" action="/webapp/login" method="post">
其中“webapp”是我们webapp的Websphere中的上下文路径。
在上面的示例中,对/ login的GET请求成功但返回了不正确的表单action =“/ webapp / login”(表单将POST提交回相同的URL)。因此,当提交表单时,我会收到404错误的URL错误。
3.2中有什么变化吗?是否有地方告诉Spring忽略上下文路径?我可以回去改变相对路径的所有绝对路径(例如,“登录”而不是“/ login”),但我不愿意,因为我的webapp中有20多个表单。
答案 0 :(得分:5)
对不起,这不是一个错误,这是一个新功能。请参阅此jira:Form tag should prepend the contextPath and servletPath if not present
显然已经回到了3.2.3。因此,您可能会通过升级到最新版本
看到您的代码行为恢复正常