Jsf 动态更改commandbutton的背景色
我想动态更改Primefaces中Jsf 动态更改commandbutton的背景色,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我想动态更改Primefaces中commandbutton的颜色 以下是commandbutton的代码摘录: <p:commandButton id="movieBtn" value="#{kkcIncomingErrorBean.counter}" type="button" onclick="PF('errorTable').show()" styleClass="#{kkcIncomingErrorBean.buttonStyle}"/> 有趣的是,在更新时,计数器变
commandbutton
的颜色
以下是commandbutton的代码摘录:
<p:commandButton id="movieBtn" value="#{kkcIncomingErrorBean.counter}"
type="button" onclick="PF('errorTable').show()"
styleClass="#{kkcIncomingErrorBean.buttonStyle}"/>
有趣的是,在更新时,计数器
变量被更新,但按钮样式
未被更新
你有什么办法来解决这个问题吗
关于你把
style
和styleClass
搞混了
style
属性应该用于声明单个CSS属性,就像您当前在模型中使用紧密耦合一样
styleClass
属性只能用于声明CSS类名,而CSS类名又在具有属性的普通CSS文件中声明。它最终呈现为一个HTMLclass
属性,如果您在JSF生成的HTML输出中四处查看,您应该会注意到这一点
因此,您有两种选择:
样式
属性
<p:commandButton ... style="#{kkcIncomingErrorBean.buttonStyle}" />
在一个普通的CSS文件中使用下面的类声明
顺便说一下,那个二传手是不必要的当然,最好使用选项2中所示的常规CSS类名。CSS属性不属于Java文件,而是属于CSS文件。什么是
styleClass=“{kkkcincomingerorbean.buttonStyle}”
?@Tiny,它是kkcincomingerorbean
类中的字段CSS定义。错误不能在jsf文件中?@Fred37b:是的,你可以这样做,但这在HTML世界中是一个不好的做法。
<p:commandButton ... style="#{kkcIncomingErrorBean.buttonStyle}" />
private String buttonStyle = "error";
.error {
background: red;
}