在ADF中显示错误消息后如何避免转到下一页?

时间:2012-11-22 08:52:56

标签: java action actionlistener oracle-adf

我有一个问题。我需要查看来自View Object的电子邮件。如果电子邮件不存在,我将执行一些代码。如果电子邮件已经存在,它将显示一些已经存在电子邮件的消息。

目前我已经这样做了,消息"这封电子邮件已经使用"如果电子邮件存在,则会抛出。 但我的问题是,如果此消息已抛出,用户仍可以转到下一页。因此,如果收到此消息,如何阻止用户转到下一页。

我在这里附上一些代码:

   public void saveAdditionalProfile(ActionEvent event) { {
    //        saveAndExit()
    try {

        int rowCount = 0;
        ViewObject emailVO1 = appModule.getIwteEmployeeVO1();
        currentRow = emailVO1.getCurrentRow();
        String strEmail1 = (String)currentRow.getAttribute("Email1");
        String SSN = (String)currentRow.getAttribute("Ssn");
        rowCount = getEmpCountByEmail(strEmail1, SSN);


        if(rowCount == 0){
       //have another method here


        }
        else{
            Util.displayErrorMessage("Email has been used.");   
        }

    } catch (Exception e) {
        // TODO: Add catch code
        e.printStackTrace();
    }

}
public static int getEmpCountByEmail(String email, String SSN) {
    AppModuleImpl appModule = Util.getAppmodule("AppModuleDataControl");        
    ViewObjectImpl emailVO = appModule.getIwteEmployeeVO1();
    emailVO.setWhereClause("UPPER(Email1) = '" + email.toUpperCase() + "' AND SSN <> '"+ SSN + "'");
    emailVO.executeQuery();
    emailVO.setWhereClause("");

    return emailVO.getRowCount();
}  

1 个答案:

答案 0 :(得分:0)

如何导航到下一页? 如何调用upper方法?

如果调用upper方法导航到下一页,则很容易。

 else{
      Util.displayErrorMessage("Email has been used.");   
      break;
     }

这应该可以解决问题。