Java 从GET Jsp到POST Jsp(表单)的Web流问题-Spring MVC注释

Java 从GET Jsp到POST Jsp(表单)的Web流问题-Spring MVC注释,java,Java,我有一个带有超链接的JSP <table> <tr> <td>Product Name : </td> <td>${product.name}</td> </tr> <tr> <td>Description:</td> <td>${product.description}</td> </tr> <tr&g

我有一个带有超链接的JSP

<table>
<tr>
    <td>Product Name : </td>
    <td>${product.name}</td>
</tr>
<tr>
    <td>Description:</td>
    <td>${product.description}</td>
</tr>
<tr>
    <td>Price:</td>
    <td>${product.price}</td>
</tr>   
<tr><td>&nbsp;</td></tr>        
<tr>
    <td>
        <a href="../shopbasket/populateBasket?code=${product.productCode}&name=${categoryName}">Add to shopping basket</a>                              
    </td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td></tr>                                                    
<tr>
    <td>
    <table>
        <tr>
            <td><a href="<c:url value="../index.html"/>">Return to Home Page</a></td>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td><a href="<c:url value="/j_spring_security_logout"/>">Logout</a>
                (<security:authentication property="principal.username" />)
            </td>
        </tr>
    </table>
    </td>
</tr>
}

然后表格

<form:form commandName="basket">
<table>
    <tr>
        <td>
        <table>
            <tr>
                <td>Customer Name : </td>
                <td>${customer}</td>
            </tr>
        </table>
        </td>
    </tr>
    <tr>
        <td>
        <table width="600" border="1" cellspacing="0" cellpadding="2"
            border="0">
            <thead>
                <tr>
                    <td>Products:</td>
                </tr>
                <tr>
                    <td>Product Name</td>
                    <td>Product Code</td>
                    <td>Description</td>
                    <td>Price</td>
                    <td>Remove</td>
                </tr>
            </thead>
            <tbody>
                <c:forEach items="${basket.products}" var="product">
                    <tr>
                        <td>${product.name}</td>
                        <td>${product.productCode}</td>
                        <td>${product.description}</td>
                        <td>${product.price}</td>
                        <td><form:checkbox path="removeItemCodes" value="${product.productCode}" /></td>
                    </tr>
                </c:forEach>
            </tbody>            
        </table>
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr>
                    <td>Total Price</td>
                    <td>&nbsp;</td>                             
                    <td>${totalPrice}</td>
                </tr>
                <tr>
                    <td>Total Items</td>
                    <td>&nbsp;</td>                     
                    <td>${totalItems}</td>
                </tr>   
            </table>
        </td>
    </tr>
    <tr><td>&nbsp;</td></tr>        
    <tr>
        <td><input type="submit" value="Remove Items" /></td>
    </tr>
    <tr><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td></tr>                                                    
    <tr>
        <td>
        <table>
            <tr>
                <td><a href="<c:url value="../index.html"/>">Return to Home Page</a></td>
                <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
                <td><a href="<c:url value="/j_spring_security_logout"/>">Logout</a>
                    (<security:authentication property="principal.username" />)
                </td>
            </tr>
        </table>
        </td>
    </tr>
</table>

客户名称:
${customer}
产品:
品名
产品代码
描述
价格
去除
${product.name}
${product.productCode}
${product.description}
${product.price}
总价
${totalPrice}
项目总数
${totalItems}
()


当我按下来自第一个JSP“”的链接时,控制器成功地执行方法populateBasket并加载表单。但是当我提交表单时,我希望它调用POST方法(basketItems)。。。但事实并非如此,按submit按钮总是执行GET方法(populateBasket)。。如果我直接从索引页加载表单,则不会发生这种情况,它会成功加载。问题是什么时候从该JSP发出?

如果希望表单提交到与用于检索页面的URL不同的URL,则需要在表单上显式设置
操作。否则Spring将用当前URL填充它

<form:form commandName="basket">
<table>
    <tr>
        <td>
        <table>
            <tr>
                <td>Customer Name : </td>
                <td>${customer}</td>
            </tr>
        </table>
        </td>
    </tr>
    <tr>
        <td>
        <table width="600" border="1" cellspacing="0" cellpadding="2"
            border="0">
            <thead>
                <tr>
                    <td>Products:</td>
                </tr>
                <tr>
                    <td>Product Name</td>
                    <td>Product Code</td>
                    <td>Description</td>
                    <td>Price</td>
                    <td>Remove</td>
                </tr>
            </thead>
            <tbody>
                <c:forEach items="${basket.products}" var="product">
                    <tr>
                        <td>${product.name}</td>
                        <td>${product.productCode}</td>
                        <td>${product.description}</td>
                        <td>${product.price}</td>
                        <td><form:checkbox path="removeItemCodes" value="${product.productCode}" /></td>
                    </tr>
                </c:forEach>
            </tbody>            
        </table>
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr>
                    <td>Total Price</td>
                    <td>&nbsp;</td>                             
                    <td>${totalPrice}</td>
                </tr>
                <tr>
                    <td>Total Items</td>
                    <td>&nbsp;</td>                     
                    <td>${totalItems}</td>
                </tr>   
            </table>
        </td>
    </tr>
    <tr><td>&nbsp;</td></tr>        
    <tr>
        <td><input type="submit" value="Remove Items" /></td>
    </tr>
    <tr><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td></tr>                                                    
    <tr>
        <td>
        <table>
            <tr>
                <td><a href="<c:url value="../index.html"/>">Return to Home Page</a></td>
                <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
                <td><a href="<c:url value="/j_spring_security_logout"/>">Logout</a>
                    (<security:authentication property="principal.username" />)
                </td>
            </tr>
        </table>
        </td>
    </tr>
</table>