-1

我从 @PostConstruct 带注释的 init 方法中收到此警告

Nis 18, 2014 2:46:10 PM com.sun.faces.vendor.WebContainerInjectionProvider getAnnotatedMethodForMethodArr 警告:JSF1047:方法 'public void com.revir.managed.bean.PickListBean.init() throws java.lang.Exception' 标记为'javax.annotation.PostConstruct' 注释不能声明任何已检查的异常。此方法将被忽略。

所以我的方法被忽略了,我该怎么做才能解决这个问题?

package com.revir.managed.bean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import org.primefaces.event.TransferEvent;
import org.primefaces.model.DualListModel;
import org.springframework.beans.factory.annotation.Autowired;

@ManagedBean(name = "pickListBean")
@ViewScoped
public class PickListBean implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private DualListModel<TrvrTani> tanis;

private DualListModel<TrvrIlac> ilacs;


int tanisize = 0;
String taniadi = null;
Long taniidp = null;
public Long getTaniidp() {
    return taniidp;
}

public void setTaniidp(Long taniidp) {
    this.taniidp = taniidp;
}

String tanikodu = null;

@Autowired(required=false)
private TrvrTaniDAO tanidao;

public TrvrTaniDAO getTanidao() {
    return tanidao;
}

public void setTanidao(TrvrTaniDAO tanidao) {
    this.tanidao = tanidao;
}

List<TrvrTani> sourcetani;
List<TrvrTani> targettani;

List<TrvrIlac> sourceilac;
List<TrvrIlac> targetilac;

@PostConstruct
public void init(){
    try {
        sourcetani = new ArrayList<TrvrTani>();
        targettani = new ArrayList<TrvrTani>();

        tanidao = new TrvrTaniDAO();
        List<TrvrTani> taniList = tanidao.findAll();
        for (TrvrTani tani : taniList) {
            Long taniid = tani.getTaniid();
            sourcetani.add(new TrvrTani(taniid, tani.getTaniadi(), tani
                    .getTanikodu()));
        }

        tanis = new DualListModel<TrvrTani>(sourcetani, targettani);

        sourceilac = new ArrayList<TrvrIlac>();
        targetilac = new ArrayList<TrvrIlac>();

        ilacdao = new TrvrIlacDAO();
        List<TrvrIlac> ilacList = ilacdao.findAll();
        for (TrvrIlac ilac : ilacList) {
            sourceilac.add(new TrvrIlac(ilac.getIlacid(), ilac.getIlacad(),
                    ilac.getBarkod(), null));
        }

        ilacs = new DualListModel<TrvrIlac>(sourceilac, targetilac);
    } catch (Exception e) {
        System.out.println("Hata mesajı : " +e);
        throw e;
    }
}


public DualListModel<TrvrIlac> getIlacs() {
    return ilacs;
}

public void setIlacs(DualListModel<TrvrIlac> ilacs) {
    this.ilacs = ilacs;
}

public DualListModel<TrvrTani> getTanis() {
    return tanis;
}

public void setTanis(DualListModel<TrvrTani> tanis) {
    this.tanis = tanis;
}


public void onTransferTani(TransferEvent event) {
    StringBuilder builder = new StringBuilder();
    for (Object item : event.getItems()) {
        builder.append(((TrvrTani) item).getTaniadi()).append("<br />");

        targetlist(tanisize, taniadi, taniidp, tanikodu);

    }

    FacesMessage msgtani = new FacesMessage();
    msgtani.setSeverity(FacesMessage.SEVERITY_INFO);
    msgtani.setSummary("Tanı Eklendi");
    msgtani.setDetail(builder.toString());

    FacesContext.getCurrentInstance().addMessage(null, msgtani);
}

public void targetlist(int tanisize, String taniadi, Long taniidp,
        String tanikodu) {

    tanisize = tanis.getTarget().size();
    System.out.println(" ************target*************  : "
            + tanis.getTarget().size());
    for (int h = 0; h < tanisize; h++) {

        /* elemanin adi, id si ve kodu */
        taniadi = tanis.getTarget().get(h).getTaniadi();
        System.out.println(" ************taniadi1*************  : "
                + taniadi);
        taniidp = tanis.getTarget().get(h).getTaniid();
        System.out.println(" ************taniid2*************  : "
                + taniidp);
        tanikodu = tanis.getTarget().get(h).getTanikodu();
        System.out.println(" ************tanikodu3*************  : "
                + tanikodu);
    }
}

public void onTransferIlac(TransferEvent event) {
    StringBuilder builder = new StringBuilder();
    for (Object item : event.getItems()) {
        builder.append(((TrvrIlac) item).getIlacad()).append("<br />");
    }

    FacesMessage msgilac = new FacesMessage();
    msgilac.setSeverity(FacesMessage.SEVERITY_INFO);
    msgilac.setSummary("İlaç Eklendi");
    msgilac.setDetail(builder.toString());

    FacesContext.getCurrentInstance().addMessage(null, msgilac);
}
}
4

1 回答 1

4

throws Exception从 init 方法中删除。用于try catch防止抛出任何异常。删除异常声明后,编译器将向您显示可能引发的任何异常,因此请在此处添加 try catch。

于 2014-04-18T12:46:07.097 回答