hi am in jdeveloper 11.1.1.9 I have a situation where I have to navigate to next page based on the condition how can I do that
protected Object callStoredFunction(int sqlReturnType, String stmt, Object[] bindVars) {
CallableStatement cst = null;
try {
//Creating sql statement
cst = this.getDBTransaction().createCallableStatement("begin ? := " + stmt + ";end;", 0);
//Register dataType for return value
cst.registerOutParameter(1, sqlReturnType);
//Pass input parameters value
if (bindVars != null) {
//for (int z = 0; z < bindVars.length; z++) {
for (int z = 0; z < bindVars.length; z++){
cst.setObject(z + 2, bindVars[z]);
}
}
cst.executeUpdate();
//Finally get returned value
return cst.getObject(1);
} catch (SQLException e) {
throw new JboException(e.getMessage());
} finally {
if (cst != null) {
try {
cst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public String getUsrStstus(String UsrId) {
String UserSts = "No Status found";
Object UsrStatus = callStoredFunction(Types.VARCHAR, "Cal.Usr_status(?)", new Object[] { UsrId });
if (UsrStatus != null) {
UserSts = UsrStatus.toString();
}
return UserSts;
public String ExecUsrPswd(String SignId,String Spswd) {
DBTransactionImpl dbti = (DBTransactionImpl)getDBTransaction();
CallableStatement statement =
dbti.createCallableStatement(("BEGIN "+"cal.Pswd(?,?);" +
"END;"), 0);
try {
statement.setString(1,SignId);
statement.setString(2,Spswd);
statement.registerOutParameter(2, Types.VARCHAR);
statement.execute();
return statement.getString(2);
} catch (SQLException sqlerr) {
throw new JboException(sqlerr);
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException closeerr) {
throw new JboException(closeerr);
}
}
}
in my bean i have this
public void PswdValidator(FacesContext facesContext, UIComponent uIComponent,
Object object) {
// String msg =null;
OperationBinding oBindings = getOperationBinding("ExecUsrPswd");calling a procedure
OperationBinding oBindingsUsr = getOperationBinding("getUsrStstus");//calling a function
oBindings.getParamsMap().put("signid",object);
oBindings.execute();
Object o = oBindings.getResult(); //if the validation paase i what navigate to next inputtext and able to navigate to othe page
//i what to call another screen if the function return status Open this screen is diffirent from the sccren if validation paased
if(o != null) {
String msg = o.toString();
FacesMessage fm = new FacesMessage(msg);
throw new ValidatorException(fm);
}
}
<af:inputText value="#{bindings.Password.inputValue}"
label="Password:"
columns="#{bindings.Password.hints.displayWidth}"
maximumLength="#{bindings.Password.hints.precision}"
shortDesc="#{bindings.Password.hints.tooltip}"
id="it1" styleClass="CriticalInputLabelStyle"
required="true"
autoSubmit="true" secret="true"
validator="#{pageFlowScope.SignOnValidation.PswdValidator}">
<f:validator/>
</af:inputText>