早上好!如何在Enterprice Java Bean的字段中设置JavaScript函数的值?
我有js函数:

<script type="text/javascript">
    function getTimezone() {
      var d = new Date()
      var gmtMinutes = -d.getTimezoneOffset();
      return gmtMinutes;
    }
</script>


我正在尝试使用:

<a4j:jsFunction name="timezone" assignTo="MyBean.gmtMinutes">
       <a4j:actionparam name="timezone" value="getUserId()"/>
</a4j:jsFunction>


但是我没有。我认为我错误地使用了标签a4j:jsFunction。请给我建议,如何正确使用标签!

最佳答案

您可以注册一个jsFunction,它将参数的值发送到服务器:

        <a4j:jsFunction name="updateTimeZone">
            <a4j:param name="timezone" assignTo="#{MyBean.gmtMinutes}"/>
        </a4j:jsFunction>


然后从JavaScript调用jsFunction

<script type="text/javascript">
    function sendTimezoneToServer() {
      var d = new Date()
      var gmtMinutes = -d.getTimezoneOffset();
      updateTimeZone(gmtMinutes);
    }
</script>


RichFaces Showcase上也有相同的示例:
http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=jsFunction&skin=blueSky

10-06 01:29