Вы можете использовать javascript для этого.
- В файле customer.js вам нужно добавить такую функцию.
function createFormAndSubmit(formTxt)
{
formTxt = formTxt.split("<").join("<");
formTxt = formTxt.split(">").join(">");
formTxt = formTxt.split("'post'>").join("'post' >");
var parser = new DOMParser();
var formElement = parser.parseFromString(formTxt,"text/xml").documentElement;
var newForm = document.createElement('FORM');
newForm.name = 'NewForm';
newForm.method = 'POST';
newForm.action = formElement.getAttribute("action");
newForm.target = 'NewFormTab';
newForm.style.display = "none";
for(var i = 0; i < formElement.childNodes.length; i++) {
var node = formElement.childNodes[i];
var name = node.getAttribute("name");
var value = node.getAttribute("value");
if (name == "null") {
continue;
}
var inputbox = document.createElement('INPUT');
inputbox.type = 'HIDDEN';
inputbox.name = name;
inputbox.value = value;
newForm.appendChild(inputbox);
}
document.body.appendChild(newForm);
newForm.submit();
}
В файле PCF вам нужно добавить TemplatePanel следующим образом.
<TemplatePanel><![CDATA[<script>function callMyForm() {createFormAndSubmit("${new organization.package.MyClass().getFormString(policyPeriod)}")}</script>]]></TemplatePanel>
В действии Button вызвать созданную функцию
<ButtonInput action="javascript:callMyForm()" id="MyFormButton" value="displaykey.MyFormButtonLabel"/>