Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 动态更改commandbutton的背景色_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf 动态更改commandbutton的背景色

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}"/> 有趣的是,在更新时,计数器变

我想动态更改Primefaces中
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文件中声明。它最终呈现为一个HTML
class
属性,如果您在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;
    }