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

p:commandButton不工作或未调用

问题:p:commandButton不工作或未调用

回答:

p:commandButton是PrimeFaces框架中的一个组件,用于在前端页面上创建一个按钮,并与后端代码进行交互。当p:commandButton不工作或未调用时,可能有以下几个原因和解决方法:

  1. 检查是否正确使用了p:commandButton组件:确保在前端页面的相应位置正确地使用了p:commandButton组件,并设置了必要的属性,例如action、update等。
  2. 检查是否正确绑定了后端方法:确保在p:commandButton的action属性中绑定了正确的后端方法。后端方法应该在相应的Managed Bean中定义,并且方法的访问修饰符应该是public。
  3. 检查是否正确设置了表单:如果p:commandButton位于一个表单中,确保表单的id属性被正确设置,并且p:commandButton的form属性与表单的id相匹配。
  4. 检查是否正确设置了Ajax请求:如果p:commandButton使用了Ajax请求,确保设置了正确的Ajax属性,例如ajax、process、partialSubmit等。同时,确保在后端方法中正确处理了Ajax请求。
  5. 检查是否存在前端验证错误:如果p:commandButton位于一个包含验证器的表单中,确保前端验证通过。如果存在验证错误,p:commandButton可能不会被调用。
  6. 检查是否存在JavaScript错误:在浏览器的开发者工具中查看是否存在JavaScript错误。JavaScript错误可能导致p:commandButton不工作或未调用。

总结:

当p:commandButton不工作或未调用时,需要检查是否正确使用了p:commandButton组件、是否正确绑定了后端方法、是否正确设置了表单、是否正确设置了Ajax请求、是否存在前端验证错误以及是否存在JavaScript错误。根据具体情况进行排查和解决。

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

相关·内容

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

鉴于Ajax和丰富的UI组件的组合,我们看到单个工作单元在一个页面上完成。这大大减少了Web应用程序中的页面数量,但代价是单个页面内的复杂性增加。...繁重的工作由标签完成。 这类似于标记,但有两个属性: execute 此属性设置为对要提交的组件进行分组的面板的id。...他们可以接受: 要渲染的空格分隔的组件列表 @form - 提交在其嵌入的表单中定义的所有字段 @this - 组件本身内声明的区域组件 @none - 渲染页面的任何部分 @all - 渲染页面上的所有组件...RichFaces推送组件适用于基于JMSCDI事件的数据源。 页面上的RichFaces组件充当服务器上发生的事件的侦听器。 我们将审查基于CDI事件的组件版本。...探索Ajax表单提交 已替换为其Ajax等效项。

3.5K20

Excel实战技巧66:创建向导样式的数据输入窗体4

HRWizard工作簿文件包含一个名为ListMgr的工作表,其中包含每个列表的数据,这些数据存储在ListMgr工作表的命名区域。...BindListToCollection方法简单地遍历集合并调用组合框的AddItem方法添加数据项。 数据类 数据类被命名为cHRData,这是一个专门为HRWizard应用程序设计的类。...UFormConfig的隐藏的工作表,该工作表包含向导中每个步骤的信息。...如果忽略该代码,那么集合中将以四个相同的cStep对象结束(全部都包含从工作表中读取的最后一个配置项中的数据)。这是因为m_oStep对象引用仍然是当前引用,所以每次调用时都会修改任何已存在的实例。...Me.PreviousPage 0 m_oNextButton.Enabled = Me.NextPage m_iNumSteps + 1 End Sub 这段代码基于cStepManager类的NextPagePreviousPage

1.2K10

Excel事件(一)基础知识

在某种条件时触发开关,导致后续的动作结果,比如灯亮起关闭,电热水器开始停止加热,空调定时打开关闭等等。 “Excel事件”在VBA程序中也担当了开关的角色。...下面来看事件的定义,事件是一个对象可以辨认的动作(例如单击鼠标按下某键等),并且可以编写某些代码针对此动作。(用户的动作或者程序代码的结果都可能导致事件的发生,事件也可以由系统引发。)...2、工作表事件 工作表事件发生在特定的工作表中,工作表事件代码必须在对应工作表的代码模块中编写,比如change(更改工作表中的单元格)和selcetchange(工作表上的选定区域发生改变)等。...右侧会出现一个窗体,并带有工具栏,可以在窗体上添加各种窗体控件,示例中添加了一个命令按钮commandbutton1和复选框checkbox1。(这里添加的命令按钮和以前用的表单控件有所不同)。...打开窗体对象对应的代码窗口,可以看到左上列表中分别有userform窗体、checkbox1复选框和commandbutton1命令按钮等对象,选择需要的对象后,右侧下拉列表中出现相应的事件。

2.1K40

LightSwitch Sliverlight应用系统开发入门

LightSwitch完成很多基础性的工作,包括了大量的拖拽特性,不过也允许开发人员在需要的时候访问.NET Framework 在实践中去体验这些功能 最近真好有个客户说需要给他做一个考勤管理的小工具...导入电子考勤机采集的打卡记录,打印出一张报表,显示哪些人考勤异常,迟到/早退/加班,打卡记录,做一下简单的统计。 下面就开始LightSwitch开发。...ApplicationData下面就是数据实体(Entity),当然数据源可以是SQL数据库,也可以WebService/WCF/RIA,和Sharepoint 一个文档库列表。...Screen相关,用户界面设计 如何创建一个查询,编辑,新增界面 如何创建一个一对多的操作界面 界面之际如何传递参数 修改导航菜单 新增CommandButton,自定义输入控件 代码相关...,在Screen中加入代码实现逻辑 如何初始化输入的值,计算子段值。

1.3K80

【CC++】——小白初步了解——内存管理

堆区(Heap): 用于动态内存分配,大小固定,可以在程序运行时动态地增长缩小。 由程序员手动管理内存的分配和释放。常用的函数有 malloc() 和 free()。...,确保对象在创建和销毁时执行必要的初始化和清理工作。...在buffer中构造int std::cout << *p << std::endl; p->~int(); // 手动调用析构函数 return 0; } 在上面的代码中,我们在预先分配的内存...这种技术通常用于自定义内存池优化程序性能。 7. 常见面试题 1.解释C++中new和malloc的区别 new: 分配内存并调用构造函数初始化对象。 返回对象的指针。 可以重载。...大小固定,可以动态增长缩小。 内存分配效率较低,但灵活性高。 5.如何实现自己的内存池? 内存池是一种预分配大块内存以减少多次分配开销的方法。

7310

Java程序员的日常——存储过程知识普及

可以在数据库中定义子程序,然后把子程序存储在数据库服务器,之后通过名称调用。 特点 1 提高性能 存储过程是预先编译过,进行优化后,存储在SQL的内存中,使用的时候不需要重新编译,提高工作效率。...5 分离设计编码与使用 使用存储过程,可以实现存储过程设计和编码工作分开进行,只要存储过程名、参数、及返回信息告诉编码人员即可。...p_name); end; -- 调用存储过程 call stu_proc(); 关于参数的类型,存储过程大致提供下面几种 无参数的存储过程 定义 create or replace procedure...内嵌的SQL语句不能讲字符穿换成数字 NO_DATA_FOUND 使用select into 返回行,或者应用索引表初始化的 TOO_MANY_ROWS 执行select into,结果集超过一行...SQL应用程序在没有连接oracle数据的情况下访问数据 PROGRAM_ERROR PL\SQL内部问题,可能需要重装数据字典 ROWTYPE_MISMATCH 主游标变量与PLSQL游标变量的返回类型兼容

1.4K80

Python 标准类库-并发执行之multiprocessing-基于进程的并行

在Unix上,使用spawnforkserver启动方法还将启动一个信号量跟踪器进程,该进程跟踪程序进程创建的链接的命名信号量。当所有进程都退出时,信号量跟踪器将取消任何剩余信号量的链接。...注意:阻塞表示继续往下执行,如果阻塞超时,程序继续往下还行,如果此时target运行完成,主程序会等待其运行完成后才终止。 进程不能join自身,因为这会导致死锁。...maxtasksperchild 是工作进程在退出并替换为新的工作进程之前可以完成的任务数,以便释放使用的资源。...(只有当只有一个工作进程时,才能保证顺序“正确”) starmap(func, iterable[, chunksize]) 类似于map(),只是iterable的元素被当做参数,拆解。...join() 等待工作进程退出。在使用join()之前,必须调用close()terminate()。

52120

栈与堆的区别及其探讨

3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 初始化的全局变量和初始化的静态变量在相邻的另一块区域。...例子程序 这是一个前辈写的,非常详细 //main.cpp int a = 0; 全局初始化区 char *p1; 全局初始化区 main() { int b; 栈 char s[]...堆:堆是向高地址扩展的数据结构,是连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。...2.7 小结: 堆和栈的区别可以用如下的比喻来看出: 使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷...这里的堆实际上指的就是(满足堆性质的)优先队列的一种数据结构,第1个元素有最高的优先权;栈实际上就是满足先进后出的性质的数学数据结构。

53230

面试官:线程池中多余的线程是如何回收的?

第一种情况,线程池的状态已经是STOP,TIDYING, TERMINATED,或者是SHUTDOWN且工作队列为空; 第二种情况,工作线程数已经大于最大线程数当前工作线程已超时,且,还有其他工作线程任务队列为空...分场景分析线程池回收工作线程 #### 3.1 调用shutdown() ,RUNNING状态下全部任务执行完成的场景 这种场景,会将工作线程的数量减少到核心线程数大小(如果本来就没有超过,则不需要回收...keepAliveTime一般设置,默认值为0,所以基本上可以认为是阻塞,马上返回取任务的结果。 在线程超时等待唤醒之后,发现取不出任务,timeOut变为true,进入下一次循环。...) ##### 3.2.2 任务还没有完全执行完 调用shutdown()之后,执行完的任务要执行完毕,池子才能结束。...#### 1.调用shutdown() ,RUNNING状态下全部任务执行完成的场景 线程数量大于corePoolSize,线程超时阻塞,超时唤醒后CAS减少工作线程数,如果CAS成功,返回null,

1K40

变量放在堆还是栈_堆和栈的共同特点

“abc“;//栈 char *p2; //栈 char *p3 = “123456“; //123456int a = 0; //全局初始化区 char *p1; //全局初始化区...char *p1; //全局初始化区 void main() { int b; //栈 char s[] = “abc“;//栈 char *p2; //栈 char *p3 = “123456...} 栈区和堆区的关系 1.当一个函数调用完返回后它会释放该函数中所有的栈空间。...总结 使用栈如同在食堂吃饭,只用点菜付钱(申请)、吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作。快捷,但自由度小。 使用堆如同在家吃饭,自己动手做喜欢吃的菜。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

67350
领券