更改 p:growl 属性 "life" 默认值
Change p:growl attribute "life" default value
世界
我想更改所有页面的 p:growl "life" 属性的默认值,而不将此属性添加到组件。
编辑:
<p:growl life="#{managedBean.time}" />
我想同时为所有 growl 组件应用(更新)而不为每个组件添加属性
终于找到了解决方法。
我会 copy/paste Growl.java 从包 org.primefaces.component.growl 到我的项目中创建的同名包。
我将 getLife() 方法(第 93 行)修改为:
public int getLife() {
return (java.lang.Integer) getStateHelper().eval(PropertyKeys.life, 10000);
}
我将 6000 替换为 10000(毫秒)作为新的默认值,相当于 10 秒。
您还可以在 web.xml 中定义上下文参数为:
<context-param>
<description>The default life time for the growl primefaces component</description>
<param-name>primefaces.GROWL_LIFE</param-name>
<param-value>10000</param-value>
</context-param>
并且该方法将实现为:
public int getLife() {
ServletContext servletContext = (ServletContext)
FacesContext.getCurrentInstance().getExternalContext().getContext();
int life = Integer.parseInt(servletContext.getInitParameter("primefaces.GROWL_LIFE"));
return (java.lang.Integer) getStateHelper().eval(PropertyKeys.life, life);
}
世界
我想更改所有页面的 p:growl "life" 属性的默认值,而不将此属性添加到组件。
编辑:
<p:growl life="#{managedBean.time}" />
我想同时为所有 growl 组件应用(更新)而不为每个组件添加属性
终于找到了解决方法。
我会 copy/paste Growl.java 从包 org.primefaces.component.growl 到我的项目中创建的同名包。 我将 getLife() 方法(第 93 行)修改为:
public int getLife() {
return (java.lang.Integer) getStateHelper().eval(PropertyKeys.life, 10000);
}
我将 6000 替换为 10000(毫秒)作为新的默认值,相当于 10 秒。
您还可以在 web.xml 中定义上下文参数为:
<context-param>
<description>The default life time for the growl primefaces component</description>
<param-name>primefaces.GROWL_LIFE</param-name>
<param-value>10000</param-value>
</context-param>
并且该方法将实现为:
public int getLife() {
ServletContext servletContext = (ServletContext)
FacesContext.getCurrentInstance().getExternalContext().getContext();
int life = Integer.parseInt(servletContext.getInitParameter("primefaces.GROWL_LIFE"));
return (java.lang.Integer) getStateHelper().eval(PropertyKeys.life, life);
}