<h:form>
送信ボタンで送信されたときはいつでも JavaScript を GET フォームに変換するために、JavaScript を使用し続け、支援を求めるだけです。
何かのようなもの:
<h:form prependId="false" onsubmit="doGet(this)">
<h:selectOneMenu id="country" value="#{bean.country}">
<f:selectItems value="#{bean.countries}" />
<f:ajax listener="#{bean.loadCities}" render="city" />
</h:selectOneMenu>
<h:selectOneMenu id="city">
<f:selectItems value="#{bean.cities}" />
</h:selectOneMenu>
<input type="submit" value="Search" />
</h:form>
この JS を使用して GET フォームに変換し、2 つの<h:form>
特定の非表示フィールドを削除します。
function doGet(form) {
form.method = "get";
form.removeChild(document.getElementsByName(form.name)[1]);
form.removeChild(document.getElementById("javax.faces.ViewState"));
}