-1

隠しフィールドの値をリクエストスコープのバッキングビーンに設定しようとしていますが、クライアント側に値がありますが、セッターが取る値が空であることがわかります(firebugで確認できます)。が呼び出される前にactionListenerセッターが呼び出されますが、プランの引数は空です。

<managed-bean>
    <managed-bean-name>carController</managed-bean-name>
    <managed-bean-class>com.domain.myproject.controller.CarController</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
        <property-name>plan</property-name>
        <value>#{param.planUI}</value>
    </managed-property>
</managed-bean>


public class CarController {
     private String plan = "";
// getter and setter
}

main.xhtml

<h:form id="myForm">
    <input type="hidden" name="planUI" id="planUI" value=""/>
....
<ice:panelGroup>
  <ice:menuPopup id="popupmenu">
    <ice:menuItem id="item1" value="item" immediate="true" 
   onclick="document.getElementById("myForm:planUI").Value = 'test';"
    actionListener="#{someBean.listener}">
    </ice:menuItem>
  </ice:menuPopup>
</ice:panelGroup>
4

1 に答える 1

0

呼び出しているメソッドに問題があるため、onclick次のように変更してください。

onclick="document.getElementById('myForm:planUI').value = 'test';"

二重引用符の内側に一重引用符を使用し、 v値で小さなvを使用する必要があります

于 2013-12-03T06:24:48.980 に答える