3

IntelliJ IDEA 15.0.4 を使用して Java Play を開発しています。2.4.4 アプリケーション。数か月後 (IntelliJ の更新が原因だと思いますが、100% 確実ではありません)、次の問題が発生します。

文字列をパラメーターとして受け取るコントローラーから逆ルートを呼び出すたびに、パラメーターがエラーとして次のメッセージとともに表示されます。

ReverseMyController の methodName (string) は (java.lang.String) に適用できません

コード例を次に示します。

public Result myAction(String myId) {
    // Do something...

    // Redirect back to referrer
    flash("success", "Action was a success");
    if(!myId.isEmpty()) return redirect(controllers.routes.MyController.showItem(myId));
    return redirect(controllers.routes.MyController.itemList(1));
}

この例ではmyId、メソッドに渡されたパラメーターは、このようshowItemに強調表示されたエラーになります

私はすでにプロジェクト構造の設定をいじってGoogleを検索しましたが、役に立ちませんでした。誰かがこれで私を助けてくれることを願っています.OCD-selfは、エラーヒントのないコードベースを再び持っていることに本当に感謝しています;)

4

2 に答える 2

4

受け入れられた回答は問題を解決しないため、この古い質問に回答しています。

Play 2.5.4InteliJで同じ問題がありました 2016.1.3

Stringルート ファイルのルート宣言から型 ( ) を削除すると、 InteliJはそれをエラーとして強調表示しなくなりました。

以下を変更します。

GET /path/:string_arg controllers.MyController.myMethod(string_arg: String)

GET /path/:string_arg controllers.MyController.myMethod(string_arg)

そしてそれはうまくいきます。

于 2016-09-07T11:41:56.437 に答える