0
我有一個JSF1.2 selectOneMenu組件。
目前,用戶從下拉菜單中選擇一個項目,然後點擊一個輸出鏈路中一個新的瀏覽器窗口中打開一個網址:h打開網址:selectOneMenu
<h:selectOneMenu value="#{itemSelected}" valueChangeListener="#{someclass.generateInfoForURL}" onchange="submit()" >
<s:selectItems var="_items" value="#{itemsList}" label="#_items.itemName}" />
<s:convertEntity />
</h:selectOneMenu>
<h:outputLink value="URL&generatedInfo=#{someclass.component.generatedInfo}" target="_blank" >
<f:verbatim>View Report</f:verbatim>
</h:outputLink>
我需要的是什麼;當用戶選擇其中一個下拉項目時,它應該在新頁面中打開URL,而不需要選擇鏈接的中間步驟。我可以在後臺bean中構建URL,但是如何獲取它以打開新的瀏覽器窗口?
我嘗試:'的
h:selectOneMenu>'加載頁面,但generateInfoForURL方法在加載頁面時運行,並且從下拉列表中選擇一個項目什麼也不做。我錯過了什麼? – gebuh 2012-02-02 19:33:35你的JS語法無效。引號應該繞過JS字符串,而不是圍繞EL表達式。更容易的是讓項目價值已經返回正確的價值。 EL表達式在您更改該值時不會被重新評估。現在我看到你想要實現的更好,你可能想要在值改變監聽器方法中執行重定向。我用一個例子更新了答案。 – BalusC 2012-02-02 19:36:35
thanx BalusC,工作,但不打開新頁面,它重定向當前頁面。我給它一個因爲我會在別處需要這個,如果我不能解決JS打開一個新頁面,我會將它標記爲答案。 – gebuh 2012-02-03 02:41:00