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

对于a4j:jsFunction,reRender或oncomplete是否先发生?

对于a4j:jsFunction,reRender或oncomplete的发生顺序是先发生reRender,然后才是oncomplete。

a4j:jsFunction是RichFaces框架提供的一个标签,用于在客户端执行JavaScript函数,并将结果传递回服务器端。它可以通过reRender属性来指定需要重新渲染的组件,以及通过oncomplete属性来指定在JavaScript函数执行完成后需要执行的服务器端方法。

reRender属性用于指定需要重新渲染的组件。当a4j:jsFunction被触发时,会先重新渲染指定的组件,然后再执行JavaScript函数。

oncomplete属性用于指定在JavaScript函数执行完成后需要执行的服务器端方法。当JavaScript函数执行完成后,会触发oncomplete指定的服务器端方法。

因此,根据执行顺序,reRender会先发生,然后才是oncomplete。这意味着在重新渲染组件之后,才会执行oncomplete指定的服务器端方法。

推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)可以提供稳定可靠的云服务器资源,用于部署和运行应用程序;腾讯云云数据库MySQL版(https://cloud.tencent.com/product/cdb_mysql)提供高性能、可扩展的关系型数据库服务,适用于存储和管理数据;腾讯云云函数(https://cloud.tencent.com/product/scf)可以帮助开发者在云端运行代码,实现无服务器架构;腾讯云对象存储(https://cloud.tencent.com/product/cos)提供安全可靠的云端存储服务,适用于存储和管理各种类型的数据文件。

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

相关·内容

富Web应用的架构与转化方法:Web应用系列第二篇

他们可以接受: 要渲染的空格分隔的组件列表 @form - 提交在其嵌入的表单中定义的所有字段 @this - 组件本身内声明的区域组件 @none - 不渲染页面的任何部分 @all - 渲染页面上的所有组件...要使用RichFaces标记,需要声明其命名空间,如下所示: xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org...如何在页面上放置一个组件,例如列出当前库存的表格,并在库存发生变化时自动更新,即使库存交易不是来自你? 使用RichFaces推送。 RichFaces推送组件适用于基于JMSCDI事件的数据源。...页面上的RichFaces组件充当服务器上发生的事件的侦听器。 我们将审查基于CDI事件的组件版本。 首先,必须从某个托管bean发布事件。...验证将验证税收类型是否在发票应纳税时设置为值。 验证方法已添加到Invoice类中。 只要以“is”开头,可以将此方法命名为您喜欢的任何方法。

3.5K20

从React源码来学hooks是不是更香呢

然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

70430
  • 从React源码来学hooks是不是更香呢_2023-02-07

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    79020

    React源码分析--hooks源码

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    2.9K40

    React-hooks源码

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    60240

    React源码分析6-hooks源码6

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    71250

    从React源码来学hooks是不是更香呢

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    64130

    React源码中的hooks是怎样运行的

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    1.3K70

    React源码分析6-hooks源码_2023-02-21

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    83130

    大白话讲透 Chromium 源码(宏观篇)

    我想解决"执行上下文"等疑惑,又奈何,截止2021.11.1(我得严谨一点嘛,世事难料,我们永远不知道下一刻会发生什么,更何况过去了一个月呢)我竟然没有搜到一篇关于"执行上下文"的源码级解释(我需要的不是八股文也不是...v8中重新实现了一个Handle类,然后我们先来看源码中的一段注释,看看为啥需要"憨豆"先生: 从 v8 返回的所有对象都必须由垃圾收集器跟踪,为了知道它们是否还活着。...大致是说: JSFunction 是成对的(上下文、函数代码),有时也称为闭包(注意:这里不要狭隘了,JSFunction和这个closures不是单纯指大家理解的js函数和闭包,这个JSFunction...对于 native 上下文,它包含全局对象。...对于 await 上下文,它包含生成器对象。对于 var block(varblock这东西太难找了,后面再说)上下文,它可能包含一个“extension object”。

    4.1K22

    从React源码学hooks

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    58940

    React源码分析6-hooks源码

    然后会通过 current 上是否有 memoizedState,判断组件是否首次渲染,从而分别将 HooksDispatcherOnMount 和 HooksDispatcherOnUpdate 赋值给...,是的话执行该函数 if (typeof initialState === 'function') { initialState = initialState(); } // 前面提到过,对于...之后,会根据当前所处的阶段是否在 render 阶段发生:如果是 render 阶段发生,那么会触发 re-render 过程,将 didScheduleRenderPhaseUpdateDuringThisPass...render 阶段,会遍历 update 来计算 state 的值,若某个 update 的优先级低于当前 render 执行的任务的优先级,则跳过此次 update 及未遍历完的 update 的执行,执行其他的...,则取上一轮的 callback 或者 value 返回;若依赖项发生改变,则重新赋值 hook.memoizedState 并返回新的 callback 新计算的 value:// packages

    62930

    React源码分析3-render阶段(穿插scheduler和reconciler)

    那么即使对于同样优先级的任务,在任务多的情况下该优先执行哪一些呢?...react 通过 requestEventTime 方法去创建一个 currentEventTime,用于标识更新任务触发的时间,对于相同时间的任务,会批量去执行。...所以这句话是判断当前 react 是否处在计算或者提交更新的阶段,如果是则直接返回 now()。...然后通过 markUpdateLaneFromFiberToRoot 方法,向上递归更新 fiber 的 lane,lane 的更新很简单,就是将当前任务 lane 与之前的 lane 进行二进制运算叠加...总结总结一下 react render 阶段的设计思想:当发生渲染或者更新操作时,react 去创建一系列的任务,任务带有优先级,然后构建 workInProgress fiber 树链表。

    32910

    Vite入门从手写一个乞丐版的Vite开始(下)

    rerender事件,带上修改模块的url。...: 图片 rerender就是其中一个: function rerender(id, newRender) { const record = map.get(id); if (!...基本套路是一样的,检查两次的js部分是否发生了修改了,修改了则向浏览器发送热更新消息: // app.js const handleVueReload = (file) => { const sendReload...file.endsWith(".js")) {// ++ handleJsReload(file);// ++ } }); 普通js热更新就需要用到前面的依赖图数据了,如果监听到某个js文件修改了,判断它是否在依赖图中...最后我们再来测试运行刷新整个页面的情况,修改一下main.js文件即可: 图片 总结 本文参考Vite-1.0.0-rc.5版本写了一个非常简单的Vite,简化了非常多的细节,旨在对Vite及热更新有一个基础的认识,其中肯定有不合理错误之处

    2.9K30

    React源码分析3-render阶段(穿插scheduler和reconciler)5

    那么即使对于同样优先级的任务,在任务多的情况下该优先执行哪一些呢?...react 通过 requestEventTime 方法去创建一个 currentEventTime,用于标识更新任务触发的时间,对于相同时间的任务,会批量去执行。...所以这句话是判断当前 react 是否处在计算或者提交更新的阶段,如果是则直接返回 now()。...然后通过 markUpdateLaneFromFiberToRoot 方法,向上递归更新 fiber 的 lane,lane 的更新很简单,就是将当前任务 lane 与之前的 lane 进行二进制运算叠加...总结总结一下 react render 阶段的设计思想:当发生渲染或者更新操作时,react 去创建一系列的任务,任务带有优先级,然后构建 workInProgress fiber 树链表。

    46620

    《微信小程序七日谈》- 第三天:玩转Page组件的生命周期

    今天这篇文章简单记录一下在使用小程序Page组件时对于其生命周期的一些使用心得。...我们不去探究后两者与前三者的执行时机策略是否相同。请大家先以常规的思维思考下列的应用场景:app导航栏左上角有个“返回”按钮,如下图: ?...可能大部分人跟笔者一样,第一个想法就是试试onShow是否是阻塞的,但是结果并不像预期的那样。...小程序的Page组件没有提供阻塞的钩子函数,根据上文中的官方配图可以看到,在组件的data更新之后有个"Rerender"动作。...剽窃的技术是不会得到尊重的,对于未经授权的转载方,必要的时候会付诸法律手段。

    1.2K100

    React源码分析3-render阶段(穿插scheduler和reconciler)

    那么即使对于同样优先级的任务,在任务多的情况下该优先执行哪一些呢?...react 通过 requestEventTime 方法去创建一个 currentEventTime,用于标识更新任务触发的时间,对于相同时间的任务,会批量去执行。...所以这句话是判断当前 react 是否处在计算或者提交更新的阶段,如果是则直接返回 now()。...然后通过 markUpdateLaneFromFiberToRoot 方法,向上递归更新 fiber 的 lane,lane 的更新很简单,就是将当前任务 lane 与之前的 lane 进行二进制运算叠加...总结总结一下 react render 阶段的设计思想:当发生渲染或者更新操作时,react 去创建一系列的任务,任务带有优先级,然后构建 workInProgress fiber 树链表。

    40650

    浅谈表单受控性及结合Hooks应用

    2 受控和非受控表单差异 2.1 受控表单的特点和使用场景 受控表单是指表单元素的值受 React 组件的 state props 控制。...特点: 表单元素的值保存在组件的 state 中,以便在需要时进行访问、验证提交。每当用户输入发生变化时,需要手动更新 state 来反映新的值。...使用场景: 对于简单的表单,不需要对用户输入进行验证和处理。 需要获取表单元素的值进行一些简单的操作,如发送请求更改 URL 等。...对于复杂的表单,可能会引入大量的 state 和事件处理函数,导致代码冗长。 代码量较少,不需要处理 state 的变化。对于简单的表单,可以更快地实现功能。...// rc-form-field // Field.tsx public reRender() { if (!

    31810

    从componentWillReceiveProps说起

    || 父组件render结果发生变化,即当前组件需要rerender) 注意,这里并没有对props做diff: React doesn’t make an attempt to diff props..._processContext(nextUnmaskedContext))类似,在确定是否需要更新(shouldComponentUpdate)之前,要计算nextState: export function...用户与受控组件交互时,用户输入反馈到UI与否,取决于change事件对应的处理函数(是否需要改变内部状态,通过rerender反馈到UI),用户输入受React组件控制,例如: class NameForm...{item.id}>{item.text})} ); } } 利用PureComponent的render()只在props changestate...change时才会再次调用的特性,直接在render()里放心做计算 看起来很完美,但实际场景的state和props一般不会这么单一,如果另一个计算无关的propsstate更新了也会引发rerender

    2.4K20
    领券