ATG Formhandler:Need 在调用 handle 方法之前设置一些值
ATG Formhandler:Need to set some values before calling the handle method
我的要求是我在调用 handle 方法的地方有一个隐藏的表单。除了 handle 方法,我还将成功和错误 url 设置为隐藏值。
<dsp:form action="blank.jsp" method="post" formid="UNIQUE_FORM_ID">
<dsp:input bean="FormHandler.commitOrder" type="hidden" value="submit" />
<dsp:input bean="FormHandler.commitOrderSuccessURL" type="hidden" value="SOME_VALUE" />
<dsp:input bean="FormHandler.commitOrderNotReadyURL" type="hidden" value="SOME_VALUE" />
</dsp:form>
我需要在调用 handle 方法之前设置 successurl
和 errorUrl
。
我试过设置优先级,但还是不行。
谢谢,
尼努
这是我测试过并有效的代码片段。
<dsp:importbean bean="/atg/commerce/order/purchase/CommitOrderFormHandler"/>
<dsp:form action="blank.jsp" method="post" formid="commitForm">
<dsp:input bean="CommitOrderFormHandler.commitOrderSuccessURL" type="hidden" value="success.jsp" />
<dsp:input bean="CommitOrderFormHandler.commitOrderErrorURL" type="hidden" value="failure.jsp" />
<dsp:input id="submitFormInput" bean="CommitOrderFormHandler.commitOrder" type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;"/>
</dsp:form>
<%--
If your form (including the submit button) is hidden,
then I assume that elsewhere on the page, you have some
other way to trigger the submission of your hidden form.
--%>
<button type="button" onclick="document.getElementById('submitFormInput').click()">Click Me!</button>
这里有几个要点:
- 确保导入您正在使用的表单处理程序。
- 确保您使用的表单处理程序有一个实例变量和一个 public getter/setter 用于您尝试设置的每个 success/error url。
- 您应该有一个
<dsp:input>
类型 ="submit" 和 bean="<form handler method you are trying to call>
”。如果必须隐藏它,您可以使用 CSS.[=23 隐藏它=]
- 在我的代码示例中,我包含了一个 HTML
<button>
标记来提交表单,但您可以将其替换为您的提交方法。
我的要求是我在调用 handle 方法的地方有一个隐藏的表单。除了 handle 方法,我还将成功和错误 url 设置为隐藏值。
<dsp:form action="blank.jsp" method="post" formid="UNIQUE_FORM_ID">
<dsp:input bean="FormHandler.commitOrder" type="hidden" value="submit" />
<dsp:input bean="FormHandler.commitOrderSuccessURL" type="hidden" value="SOME_VALUE" />
<dsp:input bean="FormHandler.commitOrderNotReadyURL" type="hidden" value="SOME_VALUE" />
</dsp:form>
我需要在调用 handle 方法之前设置 successurl
和 errorUrl
。
我试过设置优先级,但还是不行。
谢谢, 尼努
这是我测试过并有效的代码片段。
<dsp:importbean bean="/atg/commerce/order/purchase/CommitOrderFormHandler"/>
<dsp:form action="blank.jsp" method="post" formid="commitForm">
<dsp:input bean="CommitOrderFormHandler.commitOrderSuccessURL" type="hidden" value="success.jsp" />
<dsp:input bean="CommitOrderFormHandler.commitOrderErrorURL" type="hidden" value="failure.jsp" />
<dsp:input id="submitFormInput" bean="CommitOrderFormHandler.commitOrder" type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;"/>
</dsp:form>
<%--
If your form (including the submit button) is hidden,
then I assume that elsewhere on the page, you have some
other way to trigger the submission of your hidden form.
--%>
<button type="button" onclick="document.getElementById('submitFormInput').click()">Click Me!</button>
这里有几个要点:
- 确保导入您正在使用的表单处理程序。
- 确保您使用的表单处理程序有一个实例变量和一个 public getter/setter 用于您尝试设置的每个 success/error url。
- 您应该有一个
<dsp:input>
类型 ="submit" 和bean="<form handler method you are trying to call>
”。如果必须隐藏它,您可以使用 CSS.[=23 隐藏它=] - 在我的代码示例中,我包含了一个 HTML
<button>
标记来提交表单,但您可以将其替换为您的提交方法。