在JSF转换/验证机制之外的action方法中创建FacesMessage,可以通过以下步骤实现:
<h:messages>
标签,用于显示FacesMessage。<h:messages id="messages" />
FacesContext
类的静态方法getCurrentInstance()
获取当前的FacesContext
对象。FacesContext context = FacesContext.getCurrentInstance();
FacesMessage
类的构造函数创建一个FacesMessage对象,并设置消息的级别、摘要和详细信息。FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "摘要", "详细信息");
context.addMessage(null, message);
在上述代码中,null
表示将FacesMessage添加到全局消息列表中,如果需要将消息与特定组件关联,可以传递组件的客户端ID作为第一个参数。
完整的示例代码如下:
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
@ManagedBean
public class MyBean {
public void myAction() {
FacesContext context = FacesContext.getCurrentInstance();
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "摘要", "详细信息");
context.addMessage(null, message);
}
}
在上述示例中,myAction()
方法可以在JSF转换/验证机制之外的任何地方调用,例如按钮的action属性或者通过Ajax调用。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云云数据库MySQL、腾讯云云原生容器服务(TKE)等。
腾讯云产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云