在 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 bad URL 错误。
3.2有什么变化吗?有什么地方可以告诉 Spring 忽略上下文路径吗?我可以回去将所有绝对路径更改为相对路径(例如,“login”而不是“/login”),但我不希望这样做,因为我的 webapp 中有 20 多个表单。