0

在我的应用程序中,用户需要能够将产品添加到他们的购物篮中。一旦用户单击按钮,我就有一个页面显示产品描述,Add它应该被添加到他的购物篮中,如果一切正常,它会显示一条确认消息,否则会显示一条错误消息。

问题是,我的应用程序正确显示了消息,但是当消息显示时,产品描述被删除了。

<table>
     <tbody>
        <tr><td>ID:${product.ID}</td></tr>
        <tr><td>Name:${product.name}</td></tr>
        <tr><td>Price:${product.price}</td></tr>
         ......

         <s:if test="hasActionMessages()">
             <s:actionmessage/>
         </s:if>

         <s:form method="GET" action="add">
             <input type="hidden" name="productID" value="${prodcut.ID}"/>
         <s:submit value="Add"></s:submit>
     </tbody>
</table>

结果:

ID: 123
Name: Product1
Price: $12.2

ADD

Add单击按钮并将产品添加到购物篮后

ID:
Name:
Price:
      Product is successfully added                 
ADD

我知道我可以使用 Ajax 和 JavaScript,但是如何显示服务器消息?

4

1 回答 1

1

问题出在您的 JSP 中,因为您从请求中显示的产品详细信息与添加产品时使用的不同。篮子是一种物品,您应该在会话中保留并在处理产品时清除。但在清理之前,您应该将包含从购物篮复制的产品详细信息的消息添加到请求并转发到您的 JSP。如果您重定向到其他操作或 JSP,请求属性将丢失。在这种情况下,如果您确实需要重定向,最好将详细信息放入会话中。但它不应该是一个篮子对象。

于 2013-05-24T07:42:39.650 回答