Java SpringMVC:使用一个requestMapping将两个JSP集成到一个控制器中

Java SpringMVC:使用一个requestMapping将两个JSP集成到一个控制器中,java,javascript,spring,jsp,spring-mvc,Java,Javascript,Spring,Jsp,Spring Mvc,我可以对两个JSP使用一个请求映射吗 我目前正在从一个控制器调用一个请求映射,但其中一个JSP似乎没有被控制器捕获 两个JSP具有相同的表单操作和相同的表单方法: first.jsp如下所示: <form:form method="POST" action="/ShowroomNav/requestQuote" id="requestQuoteForm"> <input type="hidden" value=${product.productCode } name=

我可以对两个JSP使用一个请求映射吗

我目前正在从一个控制器调用一个请求映射,但其中一个JSP似乎没有被控制器捕获

两个JSP具有相同的表单操作和相同的表单方法:

first.jsp如下所示:

<form:form method="POST" action="/ShowroomNav/requestQuote" id="requestQuoteForm">

    <input type="hidden" value=${product.productCode } name="productCodes" />
    <input type="hidden" id="requestQuoteEmailAddress" name="requestQuoteEmailAddress" />
</form:form>
        <form:form method="POST" action="/ShowroomNav/requestQuote" id="requestQuoteForm">
            <input type="hidden" id="requestQuoteEmailAddress" name="requestEmailAddress" />
        <c:forEach var="product" items="${products}">
            <input type="hidden" value=${product.productCode } name="productCodes" />

            <div class="box">
                <img
                    src="public/productImages/${product.productCode}/${product.productCode}A.jpg"
                    style="max-width: 100%"
                    onclick="productProfile('${product.productCode}')" /><br /> <label
                    class="name">${product.productName}</label>
            </div>


        </c:forEach>
        </form:form>
以下是controller.java的外观:

@RequestMapping(value = "/requestQuote", method = RequestMethod.POST) // or GET 
public String requestQuote(@RequestParam("requestQuoteEmailAddress") String requestQuoteEmailAddress, @RequestParam("productCodes") String[] productCodes) {

     System.out.println(">>>> requesting quotes >>>>");

     for(int i=0; i<productCodes.length; i++) {
         System.out.println(" Product Codes : " + productCodes[i]);
     }

     System.out.println("requestQuoteEmailAddress : " + requestQuoteEmailAddress );
     System.out.println("<<<<< requesting quotes <<<<");         

     return "productSearch";
 }
requestEmailAddress=...&productCodes=...&productCodes=...
有人能帮忙吗?

问题是第二个.jsp代码片段的第二行中有(打字错误?):

<input type="hidden" id="requestQuoteEmailAddress" name="requestEmailAddress" />
由于您将handler方法参数注释为
@RequestParam(“requestQuoteEmailAddress”)
,因此Spring MVC会查找requestQuoteEmailAddress,而不是requestEmailAddress,因此错误(
@RequestParam
的required默认为true)。

问题是(输入错误?)在第二个.jsp代码段的第二行中:

<input type="hidden" id="requestQuoteEmailAddress" name="requestEmailAddress" />

由于您将handler方法参数注释为
@RequestParam(“requestQuoteEmailAddress”)
,Spring MVC将查找requestQuoteEmailAddress,而不是requestEmailAddress,因此错误(
@RequestParam
)默认为true)。

Hi@qingbo,感谢您的解决方案!我没有真正看到这一点,这是相当混乱。谢谢。你好@qingbo,谢谢你的解决方案!我没有真正看到这一点,这是相当混乱。谢谢
requestEmailAddress=...&productCodes=...&productCodes=...