1

私のJavaコードにはそのようなものがあります:

//...omitted some not revelant code
AjaxIndicatorAppender indicator = new AjaxIndicatorAppender();
final RequiredTextField<String> nickField = new RequiredTextField<String>( "nick", new PropertyModel<String>( this, "nickValue" ) );
formContainer.add( nickField );
indicator.bind(nickField);
nickField.add( new MyValidatingBehaviour( (Form) formContainer, "onkeyup", Duration.ONE_SECOND, indicator ) );

//...

private class MyValidatingBehaviour extends AjaxFormValidatingBehavior implements IAjaxIndicatorAware
{
    AjaxIndicatorAppender indicator;

    private MyValidatingBehaviour( Form<?> form, String event, final Duration throttleDelay, AjaxIndicatorAppender indicator )
    {
        super( form, event );
        this.setThrottleDelay( throttleDelay );
        this.indicator = indicator;
    }

    @Override
    public String getAjaxIndicatorMarkupId()
    {
        return indicator.getMarkupId();
    }
}

しかし、何も起こりません、何の指標もありません、私は何か間違ったことをしていますか?私の場合の例が見つかりませんでした

4

1 に答える 1

0

それ以外の

indicator.bind(nickField);

そのはず

nickField.add(indicator);

そしてそれは動作します:)

于 2012-04-19T07:22:21.197 に答える