我希望在JSF中选择单选按钮时有不同的警告消息

我希望在JSF中选择单选按钮时有不同的警告消息,jsf,jsf-2,Jsf,Jsf 2,我有一个场景,其中有多个单选按钮用于不同的状态,如活动、非活动、挂起。 如果我将状态从Active(活动)更改为Inactive(不活动),则会弹出一条警告消息。同样,在选择其他单选按钮时,也会显示不同的警告消息 将单选按钮设置为ListofStatus <h:selectOneRadio id="statusList" value="#{Bean.billProgram.billProgramStatus}"> <f:selectItems v

我有一个场景,其中有多个单选按钮用于不同的状态,如活动、非活动、挂起。 如果我将状态从Active(活动)更改为Inactive(不活动),则会弹出一条警告消息。同样,在选择其他单选按钮时,也会显示不同的警告消息

将单选按钮设置为ListofStatus

    <h:selectOneRadio id="statusList" value="#{Bean.billProgram.billProgramStatus}">
            <f:selectItems value="#{Bean.statusList}" />
    </h:selectOneRadio>


知道怎么做吗。我是JSF新手。我在JS中尝试过,但没有成功。也许这将在ManagedBean端完成。

为此,请在selectOneRadio上调用ajax。在这个ajax侦听器上,您可以添加
FacesMessage

为此,可以使用primefaces。这是

xhtml:

<p:growl id="growl" showDetail="true" sticky="true" />  

<h:selectOneRadio id="statusList" value="#{Bean.billProgram.billProgramStatus}">
    <f:selectItems value="#{Bean.statusList}" />
    <p:ajax event="valueChange" update="growl" listener="#{listenerView.someMethod}" />
</h:selectOneRadio>

您在哪里显示消息-在
上?你说的是不同的严重程度吗?您可以定义不同的严重性级别,例如
FacesMessage.severity\u INFO
FacesMessage.severity\u WARN
FacesMessage.ERROR
FacesMessage.severity\u FATAL
,如有必要,还可以覆盖特定的CSS类,如
infoClass
warnClass
errorClass
fatalClass
以及类似的相应样式,如
infoStyle
warnStyle
errorStyle
fatalStyle
。感谢您的回答,但是下次请多花一点时间来正确格式化。旧的点击值将出现在bean中,但是如何保持新的点击值呢?每当你点击新的值时,它将被新的自动更新,当你在bean中看到它时,它将是新的。
public void someMethod(AjaxBehaviorEvent event) {        
    FacesContext context = FacesContext.getCurrentInstance();  
    if(billProgram.billProgramStatus.equalIgnoreCase("Active")){               
        context.addMessage(null, new FacesMessage("Active",  "Active Detail") );     
    } else if(billProgram.billProgramStatus.equalIgnoreCase("Inactive")){
        context.addMessage(null, new FacesMessage("Inactive", "Inactive Detail"));
    }
}