我需要使用 POST 参数将页面重定向到外部站点,但我无法使用普通 HTML<form action="url">
就像这里解释的那样:
JSF commandButton - 将 POST 参数传递到外部站点 https://stackoverflow.com/questions/17228844/jsf-commandbutton-passing-post-params-to-an-external-site
因为这样该表单将位于 jsf 表单内 - 并且它不起作用。
是否可以使用:
FacesContext.getCurrentInstance().getExternalContext().redirect("http://example.com");
使用 POST 参数而无需额外的普通形式?或者也许有其他方法可以在没有形式的情况下实现这一目标?
尝试这样的事情:
JavaScript:
function redirect() {
document.getElementById("mySubmitButton").submit();
}
XHTML:
<h:form>
<span onclick="javascript:redirect()" class="linkClass">REDIRECT</span>
</h:form>
<div style="display:none:"> <!-- If you want it hidden -->
<form action="http://external/myplace.html" method="post">
<input type="hidden" value="value1"></input>
<input type="submit" id="mySubmitButton"</input>
</form>
</div>
编辑:添加了另一个测试。
传递动态参数:
在这个例子中,我们假设我们总是要发送一个值。
JavaScript:
function redirect(dynamicValue) {
document.getElementById("dynamicField").value = dynamicValue;
document.getElementById("mySubmitButton").submit();
}
XHTML:
<h:form>
<span onclick="javascript:redirect('myValue')" class="linkClass">REDIRECT</span>
</h:form>
<div style="display:none:"> <!-- If you want it hidden -->
<form action="http://external/myplace.html" method="post">
<input id="dynamicField" type="hidden" value=""></input>
<input type="hidden" value="value1"></input>
<input type="submit" id="mySubmitButton"</input>
</form>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)