首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript和RemoteCommand:处理Primefaces参数的最佳实践

JavaScript和RemoteCommand:处理Primefaces参数的最佳实践
EN

Stack Overflow用户
提问于 2012-12-04 03:05:26
回答 1查看 8.2K关注 0票数 3

我已经像这样定义了两个RemoteCommand:

代码语言:javascript
复制
<p:remoteCommand name="rc1" actionListener="#{rcBean.rcActionListener1}" action="#{rcBean.rcAction1}" />

<p:remoteCommand name="rc2" action="#{rcBean.rcAction2}" />

Javascript方法使用如下参数调用rc1和rc2:

代码语言:javascript
复制
rc1({a:'value for a', b:'value for b'});

rc2({a:'value for a', b:'value for b'});

rcBean的rcActionListener和rcAction是: rcBean代码的一部分

代码语言:javascript
复制
protected String param_a, param_b;

protected void processRcParams() {
    FacesContext context = FacesContext.getCurrentInstance();
    Map map = context.getExternalContext().getRequestParameterMap();
    param_a = (String) map.get("a");
    param_b = (String) map.get("b");
}

public void rcActionListener1() {
    processRcParams();
}

public void rcAction1() {
    //-> parameters setted
    //-> process something...
}

public void rcAction2() {
    //-> parameters not set yet, and so
    processRcParams();
    //-> process something...
}

判断参数不是直接在p:remoteCommand中定义的(通过rc1或rc2从JavaScript传入),如果参数可以在action中直接读取,则不需要actionListener。

为此,最佳实践是:在actionListener上之前读取参数,还是直接在操作中读取参数?为什么?

EN

回答 1

Stack Overflow用户

发布于 2013-01-03 21:55:30

代码语言:javascript
复制
<script type="text/javascript">
            //<![CDATA[
            function test(){
                document.getElementById('hiddenurlpage').value = "test1";
                lazyload();

            }
                //]]>
        </script>
<h:inputHidden id="hiddenurlpage" value="#{userBean.currentpage}"/>
<p:remoteCommand name="lazyload"  process="@this,hiddenurlpage" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13689930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档