你可以在 guidewire 中使用 java 脚本吗?

Can you use java script in guidewire?

而不是在 guidewire 中使用 Link 我想使用一个按钮来启动 URL 使用 POST.. 示例:

<form name="input" method="Post" id="aerForm" name="aerForm" action="https://geico.com">
    <input type="hidden" name="rs:command" id="rs:command" value="test"/>
    <input type="hidden" name="rs:Format" id="rs:Format" value="PDF"/>
    <input type="hidden" name="rc:Toolbar" id="rc:Toolbar" value="false"/>
    <input type="submit" value="Get your total">
</form>

我不确定如何在工作室中使用它,或者是否有其他方法可以实现它。有人有这方面的经验吗?

您可以使用 javascript 来做到这一点。

  1. En customer.js 文件你需要添加这样的功能。

function createFormAndSubmit(formTxt)
{
 formTxt = formTxt.split("&lt;").join("<");
 formTxt = formTxt.split("&gt;").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();
}

  1. 在 PCF 文件中,您需要像这样添加一个 TemplatePanel。

<TemplatePanel><![CDATA[<script>function callMyForm() {createFormAndSubmit("${new organization.package.MyClass().getFormString(policyPeriod)}")}</script>]]></TemplatePanel>

  1. 在按钮操作中调用创建的函数

<ButtonInput action="javascript:callMyForm()" id="MyFormButton" value="displaykey.MyFormButtonLabel"/>