Spring mvc 在SpringMVC中将表单重定向到另一个控制器
我使用的是SpringMVC,这里我使用JSP作为视图 我有一种情况,在这种情况下,我必须重定向到另一个受另一个控制器控制的形式,从一个受另一个控制器控制的形式 我用过Spring mvc 在SpringMVC中将表单重定向到另一个控制器,spring-mvc,Spring Mvc,我使用的是SpringMVC,这里我使用JSP作为视图 我有一种情况,在这种情况下,我必须重定向到另一个受另一个控制器控制的形式,从一个受另一个控制器控制的形式 我用过 <c:redirect url="updateStock.ic?appId='${mineralSelect.applicationId}'&serviceId='${mineralSelect.serviceId}'&mineralIdAndName='${mineralList.get(0).miner
<c:redirect url="updateStock.ic?appId='${mineralSelect.applicationId}'&serviceId='${mineralSelect.serviceId}'&mineralIdAndName='${mineralList.get(0).mineralId}:${mineralList.get(0).mineralName}'"/>
但是它被执行了,但是页面没有被呈现。但是在控制台视图中没有异常页面。因为我没有得到我的评论的答案,我将尽可能在有限的知识范围内给你最好的答案 首先,我认为在JSP中放置重定向是一种不好的做法。坦率地说,我认为在JSP中放置简单循环和决策分支以外的任何东西都是不好的做法。我会考虑做出重定向“商业逻辑”决定的决定,而我在JSP中不会做出这样的决定。SpringMVC提供了几种方法来在控制器中执行重定向,这具有不在JSP中的额外好处,并且可以绕过必须呈现JSP来执行重定向。有一些如何在控制器中执行重定向的示例 如果您仍然一心想在JSP中执行重定向,那么我建议开发一些测试工具,看看您是否得到了重定向。Chrome的开发工具和Firefox的Firebug能够报告发送到浏览器的内容。小提琴手也是处理这些事情的好工具。您要查找的是一个HTTP3xx头,很可能是302,其中包含您试图重定向到的URL 如果在浏览器中看不到HTTP 3xx响应,则是时候进行故障排除了。首先问以下问题:
从尽可能靠近源代码的地方开始,添加调试打印和日志记录,然后扩展到下一个最宽的区域,直到您确定哪些是有效的,哪些是无效的。由于我的评论没有得到答案,我将尽可能在有限的知识范围内为您提供最佳答案 首先,我认为在JSP中放置重定向是一种不好的做法。坦率地说,我认为在JSP中放置简单循环和决策分支以外的任何东西都是不好的做法。我会考虑做出重定向“商业逻辑”决定的决定,而我在JSP中不会做出这样的决定。SpringMVC提供了几种方法来在控制器中执行重定向,这具有不在JSP中的额外好处,并且可以绕过必须呈现JSP来执行重定向。有一些如何在控制器中执行重定向的示例 如果您仍然一心想在JSP中执行重定向,那么我建议开发一些测试工具,看看您是否得到了重定向。Chrome的开发工具和Firefox的Firebug能够报告发送到浏览器的内容。小提琴手也是处理这些事情的好工具。您要查找的是一个HTTP3xx头,很可能是302,其中包含您试图重定向到的URL 如果在浏览器中看不到HTTP 3xx响应,则是时候进行故障排除了。首先问以下问题:
从尽可能靠近源代码的地方开始,添加调试打印和日志记录,然后扩展到下一个最宽的区域,直到确定哪些可用,哪些不可用。尝试将日志级别设置为调试(我假设您使用的是某种日志框架…),并检查日志。通常,会有一个错误提示。我可以问一下为什么在JSP中而不是在控制器中执行重定向吗?尝试将日志级别设置为debug(我假设您使用的是某种日志框架…),并检查日志。通常,会有一个错误提示。我可以问一下为什么在JSP中而不是在控制器中执行重定向吗?