我有一個JSF 1.2頁面,它有單選按鈕來選擇2個選項之一。我有一個jQuery函數來提交表單的動作更改,但給出此錯誤。從jQuery提交表單提供了javax.faces.application.ViewExpiredException:viewId:/ - 查看/無法恢復
javax.servlet.ServletException: viewId:/buildVehicle.jsf - View /buildVehicle.jsf could not be restored.
root cause
javax.faces.application.ViewExpiredException: viewId:/buildVehicle.jsf - View /buildVehicle.jsf could not be restored.
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:189)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
這裏是jQuery的功能,提交給呈現了同樣的看法與要求PARAM一些變化:
var make = $('input:radio[name=selectMake]:checked').val(); //returns NI/IN
$("form#buildVehicleForm").attr("action", "/buildVehicle/buildVehicle.jsf?action=initTrim&make=" + make);
$('form#buildVehicleForm').submit();
在我使用簡單的HTML單選按鈕的JSF頁面。我無法將其更改爲JSF <h:selectOneRadio>
組件,因爲給我的HTML代碼,轉換爲JSF代碼並不容易。
<div class="filedItem margin-10px floatLeft">
<input type="radio" id="id1" name="selectMake" onchange="changeMake()" value="N" />
</div>
<div class="filedItem margin-10px floatLeft">
<input type="radio" id="id2" name="selectMake" onchange="changeMake()" value="I" />
</div>
感謝BalusC快速回復!我正在使用Sun的RI Mojarro JSF實現。我不能有t:收音機,是不是有richfaces?我應該只使用JSF,JSTL和Richfaces。 – 2012-02-13 02:30:28
好吧,那是運氣不好。你最好的選擇是爲''寫一個自定義的渲染器。 Tomahawk是開源的,因此可以提供一些見解。 RichFaces沒有類似的組件。只有Tomahawk,ICEfaces和PrimeFaces。 ICEfaces實際上是Tomahawk的一個克隆。或者,你也可以說服你的主角使用戰斧。在不到一個小時的時間內,您可以準備好而不是幾天甚至幾周。 –
BalusC
2012-02-13 03:37:26
哦,順便說一下,請不要成爲Tomahawk只能與MyFaces合作的舊神話的受害者,而不是Mojarra。這完全是無稽之談。 – BalusC 2012-02-13 03:41:15