原来JSF页面可以这样将前台处理的数据传到后台处理!

学习JSF的时间不长,最近遇到了一个问题就是,我点击打开一个对话框后,勾选上几个复选框,点击“确定”按钮后,需要先经过前台JS处理一下勾选的内容,然后将处理的内容传到后台进行处理,在网上搜了一天也没搜出个什么结果,后来请教了下一个大牛,原来可以通过如下方法来实现:

在xhtml页面Button按钮代码如下

<a4j:commandButton value="test_msgs.product_dianshang_button_ok" style="border" style="border:1px solid #D7D7D7;" οnclick="selectMethodNeedIds();">

    <h:graphicImage style="position:relative;left:-64px;top:2px" url="../../resources/dianshan/image/confirm.png"></h:graphicImage>

</a4j:commandButton>


接着进行JS处理

function selectMethodNeedIds(){

     //省略业务处理过程

    //JS处理完业务逻辑后,要把处理的结果传到<a4j:jsFunction>当中,假如有两个参数(selectIds,operType)需要传

    var selectIds = selectIds;

    var operType = '3';

    transparm(selectIds,operType);

}


//利用<a4j:jsFunction>来接收JS传来的数据

<a4j:jsFunction name="transparm"  immediate="true"  action="#{testBean.saveSelectEntity()}">

     <a4j:parm  name="selectIds"/>

     <a4j:parm  name="operType"/>

</a4j:jsFunction>


//经过上面处理之后就可以把两个参数传到后台testBean当中了,在testBean当中获取两个参数的方法如下:

     String selectIds = (String)getRequestParamValue("selectIds");

    String  operType = (String)getRequestParamValue("operType");

    取到这两个参数你你就可以随意做后台处理了!!!

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页