LookupDispatchActionのディフォルトメソッド

LookupDispatchActionのサブクラスでディフォルトメソッドを定義する方法です。 下に書いた"ENTERキーを押した"時にも役立ちます。
LookupDispatchActionのサブクラスでexecuteメソッドをオーバーライドし、パラメータが存在するかどうかを確認します。 なければディフォルトのメソッドへ、あればそのままsuper.executeを呼び出します。


public class RecordLookupDispatchAction extends LookupDispatchAction {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response )
throws Exception {
if ( request.getParameter( mapping.getParameter() ) == null ) {
if ( request.getParameter( "methodKey" ) != null ) {
//キーはあるが、アクションパラメータがない、ディフォルトのeditへ
return edit( mapping, form, request, response );
} else {
//アクションパラメータ・キーなし。
return ( mapping.findForward( "failure" ) );
}
} else {
//LookupDispatchActionに処理をまかせる
return super.execute( mapping, form, request, response );
}
}