protected Class< ? extends ActionPage > findMoveTo(
ActionBinding actionBinding, Object result) {
IkushipeUtil.checkNullArg(actionBinding);
Class< ? extends ActionPage > moveTo = null;
if(result.equals(true)) {
moveTo = actionBinding.getMoveTo();
} else if(result.equals(false)) {
moveTo = actionBinding.getActionPage();
} else if(result != null) {
moveTo = actionBinding.getHandleResults().get(result.toString());
if(moveTo == null) {
moveTo = actionBinding.getMoveTo();
}
}
if(moveTo == null) {
moveTo = actionBinding.getActionPage();
}
return moveTo;
}
public Class< ? extends ActionPage > fireAction(
Class< ? extends ActionPage > actionPage, ActionPage pageInstance,
PageModel modelInstance, String actionID, String tag)
throws Exception {
IkushipeUtil.checkNullArg(actionPage);
IkushipeUtil.checkNullArg(actionID);
PageInspector inspector = getPageInspector();
ActionBinding actionBinding = inspector.getActionBinding(
actionPage, actionID);
ActionType actionType = actionBinding.getActionType();
Object result = null;
if(actionType == ActionType.Direct) {
result = directAction(actionBinding, pageInstance, modelInstance, tag);
} else if(actionType == ActionType.Delegate) {
result = delegateAction(actionBinding, modelInstance, tag);
} else if(actionType == ActionType.Page) {
result = true;
}
return findMoveTo(actionBinding, result);
}
と実装してみました>業務連絡