我正在设置 PunchOut 解决方案的 Byer-Side。
https://punchoutcommerce.com/guides/punchout/cxml-punchout-setup-request/
一切正常,直到实际的“Cart-PunchOut”。 (创建 PunchOutReguest,重定向到卖家网上商店,进行一些购物,效果很好) 在我的 PORequest 中,有一个 URL,当用户单击“PunchOut Cart”时将被重定向到该 URL 根据实施,卖家正在使用隐藏输入字段中的 cXML 文件执行 FORM POST,如下所示: https://punchoutcommerce.com/guides/punchout/cxml-punchout-order-message/#cart_transmission。
在我的 postBack xPage 上,我尝试了一些不同的解决方案来获取 FORM POST HTML 的句柄并在我的 java Bean 中处理它。 但似乎没有任何作用!
任何人都可以为我指明如何处理 xPage 上传入的 HTML FORM POST 的正确方向吗?
我的问题不是如何解码 bean 中的 cxml-base64 字符串,我的问题是如何在我的 xPage 中获取表单数据并填充/创建我的 JavaBean 实例,最好是通过 ServerSideJavaScript。
经过更多挖掘以确保我确实得到一些回报后,我在 chrome DevTools Network Inspector 中清楚地看到了这一点:
您应该能够使用
getRequestParameterValuesMap()
上的 ExternalContext
方法来获取表单字段。
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
Map<String, String[]> inputFieldMap = ec.getRequestParameterValuesMap();
我在表单字段来自并非由 XPage 本身生成的表单的应用程序中使用它。
如果您想使用 SSJS 获取表单字段,请查看这个答案。