PrimeFaces 5.0、JSF 2.2、Glassfish 4.1.1、,
我假设我的设置中有些东西没有正确配置,但我不确定该看什么。。。
所以我使用managedbeans来支持JSF页面。在页面上的PrimeFace元素中,如果我使用oncomplete属性,它引用的方法将在页面加载时被调用。我不想让它在每次加载页面时调用这个方法,我也不认为应该这样!
我已经在几页和不同的元素中对此进行了测试。我第一次注意到这个问题时使用了
我已经检查了生成的HTML,并且有一个格式正确的
我还完成了对生成的HTML的区分,包括是否存在oncomplete属性。
与:
<button id="j_idt21:j_idt26"
name="j_idt21:j_idt26"
class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
onclick="PrimeFaces.ab({s:'j_idt21:j_idt26',onco:function(xhr,status,args){;}});
return false;"
type="submit">`
没有:
<button id="j_idt21:j_idt26"
name="j_idt21:j_idt26"
class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
onclick="PrimeFaces.ab({s:'j_idt21:j_idt26'});
return false;"
type="submit">
下面是上面HTML的代码,显示oncomplete在加载任何页面时调用该页面上的方法。这是我的登录页面。
<p:commandButton validateClient="true" value="Login"
action="#{loginJSFManagedBean.validateCredentials}"
type="submit"
ajax="true"
oncomplete="#{loginJSFManagedBean.validateCredentials}">
</p:commandButton>
每次加载登录页面时,甚至在页面完成呈现之前,都会调用validateCredentials方法。。。
以下是我上传文件时使用的JSF片段:
<h:form enctype="multipart/form-data">
<p:fileUpload oncomplete="#{JSFManagedBean.extract()}"
fileUploadListener="#{JSFManagedBean.handleTarFileUpload}"
mode="advanced" ></p:fileUpload>
</h:form>
每次页面加载时,extract()方法被调用。。。
oncomplete是客户端javascript回调。当呈现页面时,会调用您的方法,因为服务器会计算那些EL表达式,希望它们生成包含要发送的javascript代码的字符串。
您可能根本不需要这些非完整处理程序。对于登录按钮,操作处理程序应该足够了。对于fileUpload,如果您的目标只是按照方法名称“提取”上传的文件,那么fileUploadListener就足够了。
我想在primeface可数据延迟加载完成后更新后备bean。我看到API有一个成功 我本可以使用监听器,但问题是监听器甚至在服务器端加载方法完成之前就被调用了。
参考这里的帖子中给出的建议,我尝试使用实时滚动实现惰性加载来处理大型数据集,但实时滚动不会发生,当可数据的行和scrollRow属性都used.If我删除行属性,然后没有记录displayed.Here是我的代码片段,我tried.Can如果我做错了什么,请有人帮我。 JSF 代码片段 受管bean 刀类 } 懒惰数据模型类
让我给你一个关于系统如何工作的想法。 我使用JAAS登录模块进行登录和角色管理。我可以根据我的角色访问特定页面。 我在地址栏中输入我的url,点击回车键。 登录页面出现,正确登录后,它会将我重定向到正确的页面(现在我们称之为page1.jsf)。 我想在页面加载时调用服务器端方法。 你能帮我吗? **编辑** 假设我必须访问第1页。jsf,仅角色1可访问。 在地址栏中,我输入http://loca
问题内容: 我希望在发出ajax调用以更新数据库之前完全加载页面。我可以在body onload事件中调用javascript函数,以使页面完全加载,但是我不确定如何从那里触发Ajax调用。是否有更好的方法来实现此目的(页面加载后,Upadating数据库)? 问题答案: 使用JavaScript库确实很容易,例如使用jQuery,您可以编写: 如果没有jQuery,最简单的版本可能如下所示,但它
我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此它不需要调用任何东西,只需在页面加载时继续使用servlet。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用先前声明的会话变量将所有信息(如登录名、密码等)打印到表中。