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

本文详细介绍了如何在前端JS中处理用户操作并传递给后台进行进一步处理,包括使用A4J组件实现按钮点击事件触发JS函数,通过JS函数处理业务逻辑后,将结果通过JSFunction组件传至后台bean,最后在后台获取并处理传来的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

在xhtml页面Button按钮代码如下

<a4j:commandButton value="test_msgs.product_dianshang_button_ok" style="border" style="border:1px solid #D7D7D7;" onclick="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");

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值