如何使用 PayPal 立即购买组件

Jayashri Visvanathan 创建的 JSF 立即购买组件包装了 PayPal 立即购买按钮功能,所以可以方便地进行重用。通过此按钮,您可以在支持 JavaServer Faces 页面的网站上销售许多个别的商品。将立即购买按钮与 JSF 组件包装在一起的主要优点是,通过将组件属性绑定到受管 Bean 的属性上,组件属性可以得到动态地填充。确切地说,当通过 Web 站点销售的商品达到数百种时,这可节省大量的时间。可以使用以下声明来访问立即购买组件的标记库:
    <%@taglib prefix="ui" uri="http://java.sun.com/blueprints/ui/14"%>
立即购买组件呈现一个 form HTML 元素,该元素通过隐藏的表单字段向 PayPal 提交买方要订购的商品的相关信息。为此,在 JSP 页中使用此组件时,不能将其放在 form 元素中。要完成交易时发布到 PayPal 上的所有基本信息是作为立即购买组件上的属性支持的。如果要将受立即购买组件属性支持以外的其他信息发布到 PayPal 上,则可以使用立即购买组件上的 postData 属性。postData 属性接受一个值表达式,该表达式是 "com.sun.j2ee.blueprints.ui.shopping.BuyNowPostData" 类型的 JavaBean 的计算结果。此 Bean 支持您选择发布到 PayPal 上以完成交易的所有属性。

缺省情况下,立即购买组件发布到 PayPal 沙箱上。沙箱是实际 PayPal 站点的一个镜像,并没有在其中进行实际金融交易。它是一个用于测试 PayPal 功能(如 Web 站点付款)的安全测试环境。在 Web 站点具有可操作性并准备好将其放置在公共域中作为代理之前,您可能需要在此模式下运行站点。

缺省情况下,按钮图像是从 PayPal 站点装入。如果希望覆盖缺省行为,则可以配置 "image" 属性以装入一个替代图像。无论是在测试模式下还是在生产模式下,在测试应用程序时,您都必须能够访问 Internet,因为这两种模式都启动一个 PayPal 付款服务的连接。

使用 JSF 立即购买组件的示例如下所示:
  <ui:buyNow business="donate@animalfoundation.com" id="buyNow1" itemName="Buy Item One"
amount="100.00" quantity="1" type="BuyNow" postData="#{PayPalBean.postData}" target="paypal"/>

JSP 标记属性

标准 JSF CommandButton 的特定属性外,立即购买组件还支持以下属性。圆括号中是相应的 PayPal 属性名称。

BuyNowPostData Bean 属性

BuyNowPostData Bean 支持以下属性。圆括号中是相应的 PayPal 属性名称。

已知的限制

参考资料


© Sun Microsystems 2006。Java BluePrints Solutions Catalog 中的所有内容受版权保护,未经 Sun Microsystems 的明确书面许可,不得在其他产品中发布。