首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从.jsf页面adf 12c中的函数中获取返回值?

在Oracle ADF 12c中,.jsf页面通常与后端的Java代码(如Managed Bean或Backing Bean)进行交互。要从.jsf页面中的JavaScript函数获取返回值并将其传递给后端的Java代码,可以使用以下几种方法:

方法一:使用JavaScript和ADF Faces的客户端事件

你可以使用JavaScript在客户端执行操作,然后通过ADF Faces的客户端事件将结果传递给后端的Managed Bean。

步骤:

  1. 在.jsf页面中定义JavaScript函数
  • <af:resource type="javascript"> function getValueFromJS() { // 这里是你的JavaScript逻辑 var value = "some value"; // 这是你要返回的值 return value; } </af:resource>
  • 在.jsf页面中定义一个隐藏的输入框和按钮
  • <af:inputText id="hiddenInput" value="#{backingBean.hiddenValue}" visible="false"/> <af:commandButton id="hiddenButton" actionListener="#{backingBean.processValue}" visible="false"/>
  • 在.jsf页面中定义一个JavaScript函数来调用后端方法
  • <af:resource type="javascript"> function callBackend() { var value = getValueFromJS(); var hiddenInput = AdfPage.PAGE.findComponentByAbsoluteId('hiddenInput'); hiddenInput.setValue(value); var hiddenButton = AdfPage.PAGE.findComponentByAbsoluteId('hiddenButton'); hiddenButton.click(); } </af:resource>
  • 在.jsf页面中触发JavaScript函数
  • <af:commandButton text="Get Value" onclick="callBackend(); return false;"/>
  • 在Managed Bean中处理值
  1. @ManagedBean @RequestScoped public class BackingBean { private String hiddenValue; public String getHiddenValue() { return hiddenValue; } public void setHiddenValue(String hiddenValue) { this.hiddenValue = hiddenValue; } public void processValue(ActionEvent actionEvent) { // 处理从JavaScript传递过来的值 System.out.println("Value from JavaScript: " + hiddenValue); } }

方法二:使用ADF Faces的JavaScript API和Partial Page Rendering (PPR)

你可以使用ADF Faces的JavaScript API和Partial Page Rendering (PPR)来更新页面组件并将值传递给后端。

步骤:

  1. 在.jsf页面中定义JavaScript函数
  • <af:resource type="javascript"> function getValueFromJS() { // 这里是你的JavaScript逻辑 var value = "some value"; // 这是你要返回的值 return value; } </af:resource>
  • 在.jsf页面中定义一个隐藏的输入框
  • <af:inputText id="hiddenInput" value="#{backingBean.hiddenValue}" visible="false"/>
  • 在.jsf页面中定义一个JavaScript函数来更新隐藏输入框的值并触发PPR
  • <af:resource type="javascript"> function updateBackend() { var value = getValueFromJS(); var hiddenInput = AdfPage.PAGE.findComponentByAbsoluteId('hiddenInput'); hiddenInput.setValue(value); AdfPage.PAGE.queueEvent(new AdfCustomEvent(hiddenInput, "valueChange", null, false)); } </af:resource>
  • 在.jsf页面中触发JavaScript函数
  • <af:commandButton text="Get Value" onclick="updateBackend(); return false;"/>
  • 在Managed Bean中处理值
  1. @ManagedBean @RequestScoped public class BackingBean { private String hiddenValue; public String getHiddenValue() { return hiddenValue; } public void setHiddenValue(String hiddenValue) { this.hiddenValue = hiddenValue; } public void processValue(ValueChangeEvent valueChangeEvent) { // 处理从JavaScript传递过来的值 System.out.println("Value from JavaScript: " + hiddenValue); } }

总结

通过以上方法,你可以在Oracle ADF 12c中从.jsf页面的JavaScript函数获取返回值并将其传递给后端的Managed Bean。方法一使用了隐藏的输入框和按钮来传递值,而方法二则使用了ADF Faces的JavaScript API和Partial Page Rendering (PPR)来更新页面组件并触发后端处理。选择哪种方法取决于你的具体需求和应用场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

教你如何快速从 Oracle 官方文档中获取需要的知识

11G 官方文档:https://docs.oracle.com/cd/E11882_01/server.112/e40402/toc.htm 这里以 11g R2 官方文档为例: 今天来说说怎么快速的从官方文档中得到自己需要的知识...SQL language Reference ,这个文档中包括 Oracle数据库中SQL 语句的语法( plsql不包含在内)。比如说create table语法、函数、表达式都在这里有描述。...Application Development页面 PL/SQL Packages and Types Reference ,这个文档中包括各种 oracle自建的包和函数的功能、参数描述。...具体还没深入了解,但是感觉还是比较先进好用的,当 plsql没有办法完成任务的时候,可以使用 java存储过程来解决,比如说想要获取主机目录下的文件列表。...12c 里面 goldengate 全面接管 stream 任务。有兴趣的也可以看看。

7.9K00
  • 如何在 Go 函数中获取调用者的函数名、文件名、行号...

    背景 我们在应用程序的代码中添加业务日志的时候,不论是什么级别的日志,除了我们主动传给 Logger 让它记录的信息外,这行日志是由哪个函数打印的、所在的位置也是非常重要的信息,不然排查问题的时候很有可能就犹如大海捞针...如果让我们用 Go 设计一个Log Facade,就需要我们自己在门面里获取调用者的函数名、文件位置了,那么在Go里面怎么实现这个功能呢?...//获取的是 CallerA函数的调用者的调用栈 pc1, file1, lineNo1, ok1 := runtime.Caller(1) } 函数的返回值为调用栈标识符、带路径的完整文件名...、该调用在文件中的行号。...获取调用者的函数名 runtime.Caller 返回值中第一个返回值是一个调用栈标识,通过它我们能拿到调用栈的函数信息 *runtime.Func,再进一步获取到调用者的函数名字,这里面会用到的函数和方法如下

    6.7K20

    【YashanDB知识库】如何从内存中获取SQL语句的执行计划

    简介目前从PostgreSQL迁移到YashanDB后,需要进行数据校验。下面给出user1模式从PostgreSQL迁移到YashanDB进行数据行数比对的示例。...详情获取PostgreSQL精确行数创建table_count,用于存储行数(建议:使用现有的迁移模式user1,并把table_count创建在user1用户下)create table user1....table_count (owner varchar(200),table_name varchar(200),num_rows int);获取user1模式下的所有表的行数DO $$DECLAREone_row...YashanDB精确行数从PostgreSQL迁移到YashanDB迁移user1模式,迁移完成后可以创建table_count ,用于存储行数(建议:创建新的用户db_yashan,并把table_count...user1用户下的所有表的行数declarev_owner VARCHAR2(100);v_tabname VARCHAR2(100);stmt VARCHAR2(200);num_rows number

    3600

    Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程

    大概看了下,是js加载的,而且数据在js函数中,很有意思,就分享出来给大家一起看看! 抓取目标 ?...但是发现有个js的请求,点击请求,是一行js函数代码,我们将其复制到json的视图查看器中,然后格式化一下,看看结果 ? ?...只是其内容,需要在进行处理一下,我们写到代码中看看 开始写代码 先导入库,因为最终需要从字符串中截取部分,所以用requests库获取请求,正则re匹配内容即可。然后我们先匹配出上述3项 ?...后记 新浪新闻的页面js函数比较简单,可以直接抓到数据,如果是比较复杂的函数的话,就需要深入理解前端知识了,这也是为什么学爬虫,需要学习前端知识的原因!...基本代码没有多少,如果有看不清楚的小伙伴,可以私信我获取代码或者一起研究爬虫哦!

    3.6K10

    Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程

    大概看了下,是js加载的,而且数据在js函数中,很有意思,就分享出来给大家一起看看!...但是发现有个js的请求,点击请求,是一行js函数代码,我们将其复制到json的视图查看器中,然后格式化一下,看看结果 发现里面有可能存在我们需要的内容,比如url、title、intro这3个参数,...猜测就是对应的新闻URL、标题、简介 只是其内容,需要在进行处理一下,我们写到代码中看看 开始写代码 先导入库,因为最终需要从字符串中截取部分,所以用requests库获取请求,正则re匹配内容即可。...后记 新浪新闻的页面js函数比较简单,可以直接抓到数据,如果是比较复杂的函数的话,就需要深入理解前端知识了,这也是为什么学爬虫,需要学习前端知识的原因!...基本代码没有多少,如果有看不清楚的小伙伴,可以私信我获取代码或者一起研究爬虫哦!

    3.9K20

    【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )

    文章目录 前言 一、等待远程进程 mmap 函数执行完毕 二、从寄存器中获取进程返回值 三、博客资源 前言 前置博客 : 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 |...远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 ) 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so...动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 ) 本博客进行收尾 , 远程调用 mmap 函数后 , 等待函数执行 , 获取该函数执行的返回值 ; 一、等待远程进程 mmap...ptrace_continue(pid) == -1) { printf("error\n"); return -1; } waitpid(pid, &stat, WUNTRACED); } 二、从寄存器中获取进程返回值...; 然后读取该寄存器数据中的 EAX 寄存器值 , 用于获取远程执行 dlopen 函数的返回值 , 返回的是 libbridge.so 动态库的首地址 ; /* 读取寄存器返回值 */ long ptrace_retval

    65920

    如何用扫描仪控制的恶意程序,从隔离的网络中获取数据(含攻击演示视频)

    近期,一群来自以色列的安全研究专家发明了一种能够从物理隔离网络中窃取数据的新技术。研究人员表示,他们可以通过扫描仪来控制目标主机中的恶意软件,然后从这台物理隔离网络中的计算机提取出目标数据。...研究人员在他们发表的研究报告中说到: “攻击者首先需要向一台平板扫描仪发送光脉冲信号,当平板扫描仪接收到了这些信号之后,目标主机中的恶意软件会将信号中携带的控制命令提取出来。...在真实的攻击场景中,攻击者甚至还可以利用一架配备了激光枪的无人机(从办公室窗户外向扫描仪发射光信号)来发动攻击。...这也就意味着,一个64位消息块则需要大约3秒钟的时间,而恶意软件可以实时读取光信号中携带的数据。 在研究人员所进行的另一项测试中,他们通过这项技术发动了一次勒索攻击。...当时,他们身处一台停在停车场中的汽车,并在车内通过光脉冲信号加密了目标主机中的数据。

    5.3K90

    UData-解决数据使用的最后一公里

    Sort排序的下推,额外支持了外表数据源CK,Jsf,Http,进行了查询函数format等的丰富。...JSF和HTTP查询的两个关注点是如何将查询参数进行下推和如何将返回的结构化数据映射为表中的列数据,以便在联邦查询中进行数据关联和聚合。...转换为对应的逻辑计划,并进一步转换为物理计划节点; BE侧增加对应的ScanNode,进行数据查询; 对于JSF和HTTP,通过函数,用于从FE侧将查询参数传输到BE侧真实的查询节点,查询参数下推,同时列的过滤条件在获取数据后...外表的,同样的其他聚合函数都可以用于该Jsf表查询,上面主要有以下需要进行下说明: 列表达式过滤:( recv_count >= 1000 ) 这种过滤条件用于Scan操作获取到数据之后,在BE节点内运行时进行再次过滤...; 查询参数下推:jsfparam函数内置于Udata查询引擎,可以通过此函数,将需要带入到Jsf调用中的参数从调用端一直传递到Jsf服务中,从而减少数据的获取; 联邦查询:Jsf表同其他外表一样可以支持联邦查询

    65910

    配电网WebGIS研究与开发

    二、非Web ADF控件的刷新   页面中除了Map、TOC等ADF控件,一般还包含有很多非ADF控件,比如Button、Label、GridView等等。...这套library只要页面中有Web ADF控件便可使用,它不需要独立安装,嵌入在web adf控件中,不可更改。...Web ADF服务器控件在客户端的外观和显隐,获取Web ADF服务器控件在客户端的一此状态信息并捕捉其客户端发生的事件等等。...通过Web ADF JavaScript Library对Web ADF控件进行的一些操作是不需要经过服务器端的纯客户端操作,一般只是负责页面显示和数据收集等工作,涉及到数据更新时,还是需要和服务器端进行通讯获取新数据...从地理数据库中查询到指定位置的设备的地理数据后,再根据地理数据中的附加属性和SQL数据库连接,就可以查询到一些更详细的附加信息了,在本模块的所以环节中,虽然SQL数据库检索是最繁琐的一部分,但是因为面临的实际技术问题单一

    1.2K20

    快速学习-Feign远程调用

    2 Feign远程调用 在前后端分离架构中,服务层被拆分成了很多的微服务,服务与服务之间难免发生交互,比如:课程发布需要调用 CMS服务生成课程静态化页面,本节研究微服务远程调用所使用的技术。...下图是课程管理服务远程调用CMS服务的流程图: ? 工作流程如下: 1、cms服务将自己注册到注册中心。 2、课程管理服务从注册中心获取cms服务的地址。...上图是服务端负载均衡,客户端负载均衡与服务端负载均衡的区别在于客户端要维护一份服务列表,Ribbon从 Eureka Server获取服务列表,Ribbon根据负载均衡算法直接请求到具体的微服务,中间省去了负载均衡服务...对象 2、 @FeignClient(value = XcServiceList.XC_SERVICE_MANAGE_CMS)即指定了cms的服务名称,Feign会从注册中 心获取cms服务列表,并通过负载均衡算法进行服务调用...@PathVariable("XXX")和@RequestParam("XXX") 2、feignClient返回值为复杂对象时其类型必须有无参构造函数。

    91020

    JSF预热功能在企业前台的实践与探索

    尽管上线时尽可能的降低对接口的波动,整个上线流程中无损下线是没问题(NP层冷备机器直至无流量打进来,JSF层下线JSF服务),但是(自身&服务提供方)上线的瞬时波动或多或少会引起系统的一阵报警,每一次性能或者可用率的报警都可能带来客诉...JSF1.7.6对于预热策略动态下发特性的升级公告吸引了作者,所以本文也将从JSF1.7.6预热的实践测试报告中,真实的讲述预热给前台带来的体验和帮助,希望对读者有参考作用。...问题是显而易见的,那么如何发现问题本质,并找到问题通用性,进而解决问题,推广各平台,最终达到良性循环,是着重需要考虑的。...在泰山流量防护页面中新增的接口配置,必须是拥有该接口权限才可以直接进行配置。 在泰山平台配置后,则直接面向所有消费者有效。当然也可以使用JSF的标签配置进行预热,就仅对自身服务器有效。...当然,根据目前行业的一些解决方案,无损上线功能远不止于此,期待JSF预热功能的能力与场景不断从实践反馈中完善与丰富。 打造SAAS化服务的会员徽章体系,可以作为标准的产品化方案统一对外输出。

    17220

    一次接口的性能优化之旅

    ,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。...,最终将目标页面展示到屏幕。...waveInfos的字符串列表中,筛选出已经包含在另一个名为sendDPackageCodes的字符串列表中的元素,并将这些重复的元素放入一个新的列表repeatResult中。...代码优化:使用Set进行处理 优化效果:2000ms -> 6ms 如何解决RPC批量调用问题 -> 使用JSF异步调用 同步异步方案比较 JSF异步调用使用 第一步...,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。

    16710

    EasyMock技术解密

    从设计稿出发,提升页面搭建效率,亟需解决的核心问题有数据来源:交易数据的来源,包含业务信息、联系人、数据接入协议 Mock所用的技术知识点很多,比如JVM、类实例化、动态代理、反序列化、Http...2.1 平台整体设计 如下图所示,平台整体采用主、从服务部署,主服务面向用户,提供服务管理、模版管理、应用管理(规划中)、看板等功能,从服务提供接口Mock服务,供客户端调用,主服务通过IP分配规则控制从服务进行接口...图1 平台全景图 2.2 JSF技术实现步骤 从技术角度来说下JSF Mock的整个流程,用户访问平台,添加要Mock的JSF接口和方法,主服务会异步下载接口所依赖的Jar包,用户开启Mock,主服务按分配规则通知从服务开启...Jar包后,需要通过ClassLoader将Jar包加载到JVM,这里采用URLClassLoader进行加载,URLClassLoader继承于ClassLoader,支持从Jar文件和文件夹中获取Class...从设计稿出发,提升页面搭建效率,亟需解决的核心问题有: 以上为JSF Mock的实现过程,后续会继续分享HTTP Mock的实现过程及平台开发过程中解决的各种技术难点。

    21220

    爬虫必学知识之正则表达式下篇

    这时就需要引入边界匹配了: ^:这个是从左边开始匹配,规定左边的首个字符 $:这个是从右边开始匹配,规定右边的首个字母 现在再写个匹配qq号码的正则 r=re.findall('^[0-9]{5,10}...组:前面我们有用 [ ] 来匹配,中括号里面表示的是或关系,而这里的组表示的是并关系,并且用小括号括起来 ( )。...这个第二个参数为convert函数,里面的.group() 方法是获取匹配后的字符串的值,所以我们就可以根据匹配后的字符串来进行相对应的替换内容,比如这个简单的小需求: 把字符串中的数字大于50的改为99...='php'> php 这两个函数返回的内容的几个属性: group() :获取匹配的内容 statr() :获取到匹配字符的起始位置 end() :获取匹配到字符的结束位置 span() :获取匹配到字符的起始和结束位置...上述文章如有错误欢迎在留言区指出,如果这篇文章对你有用,点个赞,转个发如何?

    1.3K70
    领券