JSF附录 : primefaces的一些常用操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zzg19950824/article/details/80066040

这一篇是JSF的UI组件Primefaces的一些常用操作总结,持续更新.

1.在后端执行前端js

Primefacces的组件一般都自带JS的控制标签,例如其中的onclick属性等,但是.偶尔我们可能需要在后端bean中去执行前端的JS代码,可以这样写:

//利用PrimeFaces的命令executeScript
PrimeFaces.current().executeScript("document.getElementById('fm:beforeUpdate').style.display='block';");
PrimeFaces.current().executeScript("PF('bui').show()");

2.后端实例化前台组件,并且控制

primefaces的一大缺点就是难以自控,如果标签没有提供相应的功能实在让人头大,有时候我们可以在后台直接去控制前台的组件,或者读取组件的数据.

1.创建组件

<p:commandLink id="commandLink001" value="001" binding="#{setConstorageLocation.jsf}" actionListener="#{setConstorageLocation.test()}" style="margin-left: 300px"></p:commandLink>        

2.映射

首先看binding我们就可以知道着以及映射到了我们setConstorageLocation的jsf属性里面了

 private CommandLink jsf;
    /**
     * @return the jsf
     */
    public CommandLink getJsf() {
        return jsf;
    }

    /**
     * @param jsf the jsf to set
     */
    public void setJsf(CommandLink jsf) {
        this.jsf = jsf;
    }

3.控制(前端调用actionListener)

 public void test(){
// findString="1";
     log.debug(jsf.getId());
}

这里写图片描述

这里就完全获得了前面的值,并且在后面输出.

3.前端JS执行bean

当需要在前端调用后端的bean但是有没有actionListener属性的时候,或者希望直接用JS执行Bean的时候,

1.先列举通常的用法,使用组件自带的actionListener

actionListener="#{setConstorageLocation.updateOne()}"

注意,他和普通的value中的#{}的区别在于,value中会调用的set,get方法

2.使用p:remoteCommand

可以直接用onclick=”rc()”

<p:commandButton type="button" onclick="rc()" value="Execute" icon="ui-icon-refresh" />


<p:remoteCommand name="rc" update="msgs" actionListener="#{remoteCommandView.execute}" />

通过一个间接调用实现了调用Bean

4.总结

后期会一个个加上去…

猜你喜欢

转载自blog.csdn.net/zzg19950824/article/details/80066040
jsf