繁体   English   中英

使用jsf在Java类中调用方法

[英]call a method in a java class with jsf

这是豆

       package Bean;
      public class AlarmeBean {

public String getOID() {
    return OID;
}
public void setOID(String oID) {
    OID = oID;
}
public String getAdrip() {
    return adrip;
}
public void setAdrip(String adrip) {
    this.adrip = adrip;
}
public String getDate() {
    return date;
}
public void setDate(String date) {
    this.date = date;
}
public String getSeverity() {
    return severity;
}
public void setSeverity(String severity) {
    this.severity = severity;
}
private String OID;
private String adrip;
private String date;
private String severity;


public void alarme(){
    Manager manager=new Manager(162);   
System.out.println("listnning on :"+manager.trapReceiver.getPort());


manager.trapReceiver.addTrapListener(manager);

   }

这是班主任

          package Bean;

          import com.adventnet.snmp.beans.SnmpTrapReceiver;
         import com.adventnet.snmp.beans.TrapEvent;
          import com.adventnet.snmp.beans.TrapListener;

    public class Manager implements TrapListener {
SnmpTrapReceiver trapReceiver =new SnmpTrapReceiver();



         public Manager(int port ){

       trapReceiver.setPort(port);

            }


public void receivedTrap(TrapEvent trapEvent) {
    System.out.println("TrapEvent received." + "\n" +
         "Received a trap from:" + trapEvent.getRemoteHost () + 
           "Community is:" + trapEvent.getCommunity () + "\n" +
     "Agent Address is:" + trapEvent.getAgentAddress () + "\n" +
         "Enterprise OID:" + trapEvent.getEnterprise () + "\n" +
       "Trap Variable OID:" + trapEvent.getObjectID (0) + 
                            "\n");
              }

         }

在xhtml中,我编写了一个commandbutoom,以在alarmeBean中调用alarme方法

   <p:commandButton process="form" value="call" action={AlarmeBean.alarme}" />

但是我这个错误:

如果我从该Web项目中执行类管理器,它将正常工作,但是(它将在控制台“侦听:162”中返回)

您不能直接访问类方法。 您应该添加@ javax.faces.bean.ManagedBean批注来分类或在faces-config.xml中定义。 @ManagedBean更有用。 请尝试:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean(name = "alermeBean")
@RequestScoped
public class AlarmeBean {

    public void alerme() {

    }

}

xhtml:

<p:commandButton process="@form" value="call" action="#{alarmeBean.alarme}" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM