localhost sbt
不能使用返回 play.api.mvc.ActionBuilder[play.api.mvc.Request,play.api.mvc.AnyContent] 的方法作为请求的处理程序
单击welcome.scala.html
中的注销按钮后,我正在尝试返回index.scala.html
页面,但它在执行时显示编译错误。
这是welcome.scala.html
页面:
<html>
<body>
welcome to homepage
<a href="@routes.HomeController.logout()">
<input type="submit" value="Logout">
</body>
</html>
这是index.scala.html
页面:
@main("Welcome to Play") {
}
<html>
<body>
username<input type="text" name="uname">
password<input type="password" name="pword">
<a href="@routes.HomeController.welcome()">
<div class="my-button">Submit</div>
</a>
</body>
</html>
这是HomeController
:
@Singleton
class HomeController @Inject()(cc: ControllerComponents) extends AbstractController(cc) {
def index = Action {
Ok(views.html.index())
}
def welcome = Action
{
Ok(views.html.welcome())
}
def logout = Action
{
Ok(views.html.index())
}
}
这是routes
文件:
GET / controllers.HomeController.index
GET /welcome controllers.HomeController.welcome
GET /logout controllers.HomeController.logout
this is main.scala.html code
@(title: String)(content: Html)
<!DOCTYPE html>
<html lang="en">
<head>
<title>@title</title>
<link rel="stylesheet"media="screen"href="@routes.Assets.versioned("stylesheets/main.css")">
<link rel="shortcut icon" type="image/png" href="@routes.Assets.versioned("images/favicon.png")">
<script src="@routes.Assets.versioned("javascripts/hello.js")" type="text/javascript"></script>
</head>
<body>
@content
</body>
</html>
got this error after editing the routes page
Cannot use a method returning play.api.mvc.ActionBuilder[play.api.mvc.Request,play.api.mvc.AnyContent] as a Handler for requests
似乎您的路由文件上有一个小错误:
更改此设置:GET /logout controllers.HomeController.index
到GET /logout controllers.HomeController.logout
它应该只是工作。