状況
プロジェクトを から に移行していWicket 1.5.7
ますWicket 6.12
。表示されるエラーの 1 つについて以下で説明します。
コード
@Override
protected void onSubmit() {
final String usernameValue = mail.getModelObject();
//Password is left empty in this particular case
AuthenticatedWebSession.get().signIn(usernameValue,"");
if (!continueToOriginalDestination())
{
setResponsePage(getApplication().getHomePage());
}
}
エラー
これは、ウィケットのバージョンを変更したときに発生したエラーです: The operator ! 引数の型 void に対して未定義です
注: カーソルを合わせると、このエラーが表示されます!continueToOriginalDestination
私は何を試しましたか
stackoverflow の検索で、次の質問に出くわしました: continueToOriginalDestination で元のページに戻らない
また、Apacheウィケットに関するこのトピックを確認してください: http://apache-wicket.1842946.n4.nabble.com/Handling-ReplaceHandlerException-on-continueToOriginalDestination-in-wicket-1-5-td4101981.html#a4115437
そこで、コードを次のように変更しました。
@Override
public void onSubmit() {
final String usernameValue = mail.getModelObject();
AuthenticatedWebSession.get().signIn(usernameValue,"");
setResponsePage(getApplication().getHomePage());
throw new RestartResponseAtInterceptPageException(SignInPage.class);
}
質問
私の特定のケースでは、古い状況もコードの変更も機能しているようです。
- 小さな変更かもしれませんが、新しいコードが間違っているのでしょうか?これはどのように機能するのでしょうか?
- Wicket はそれほど変更されたので、古いコードはサポートされなくなりましたか、それとも
!continueToOriginalDestination
同じように使用できるようになりましたか?