智能 IDEA 15 播放 2.4 反向路由方法参数 "string cannot be applied to java.lang.String"



我使用 IntelliJ IDEA 15.0.4 开发 Java Play! 2.4.4 应用程序。由于几个月(我认为这是因为IntelliJ更新,但不是100%确定),出现了以下问题:

每当我从将 String 作为参数的控制器调用反向路由时,该参数都会显示为错误,并显示以下消息:

方法名称(字符串)在 ReverseMyController 中不能应用于 (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,但无济于事。我希望有人能够帮助我解决这个问题,我的强迫症自我真的很感激有一个没有错误提示的代码库再次;)

接受的

答案并不能解决问题,这就是我回答这个老问题的原因。

我在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)

它工作正常。

是的,我遇到了与您所说的相同的问题。我认为这是IDEA 15.0.4的错误,您是否尝试过更改为15.0.4之前的旧版本?

相关内容

最新更新