我正在使用Play framework 1.4.3,我的问题是我在controllers文件夹中创建了一个新文件夹,并在这个新文件夹中添加了新的控制器类,我对视图的文件夹做了同样的事情但是在我的html中,我试图在标签的href声明ancla路由,这不是它发现我的控制器创建,只发现控制器默认" Application.java"。
示例:
这是我的文件夹层次结构
我可以使用Play Framework 1.4.3控制器文件夹中的文件夹内的控制器吗?
这是我的MyServicesControlle:
package controllers.myServices;
import play.mvc.Controller;
public class MyServicesController extends Controller {
public static void index() {
render();
}
}
当我在标签ancla中写下整个路径时:
<a href="@{app.controllers.myServices.MyServicesController.index}">my services</a>
抛出此异常:
19:11:34,868 ERROR ~
@73mb1o6aa
Internal Server Error (500) for request GET /application/index
Oops: PatternSyntaxException
An unexpected error occured caused by exception PatternSyntaxException: group redeclaration controller; use ({=name}...) for group reassignments
play.exceptions.UnexpectedException: Unexpected Error
at play.Invoker$Invocation.onException(Invoker.java:245)
at play.Invoker$Invocation.run(Invoker.java:307)
at Invocation.HTTP Request(Play!)
Caused by: jregex.PatternSyntaxException: group redeclaration controller; use ({=name}...) for group reassignments
at jregex.Term.makeTree(jregex/Term.java:299)
at jregex.Term.makeTree(jregex/Term.java:219)
at jregex.Term.makeTree(jregex/Term.java:206)
at jregex.Pattern.compile(jregex/Pattern.java:164)
at jregex.Pattern.<init>(jregex/Pattern.java:150)
at jregex.Pattern.<init>(jregex/Pattern.java:108)
at play.mvc.Router$Route.compute(Router.java:828)
at play.mvc.Router.getRoute(Router.java:142)
at play.mvc.Router.appendRoute(Router.java:126)
at play.mvc.Router.parse(Router.java:208)
at play.mvc.Router.parse(Router.java:173)
at play.mvc.Router.load(Router.java:53)
at play.mvc.Router.detectChanges(Router.java:232)
... 1 more
答案 0 :(得分:0)
首先需要引用控制器所在的文件夹,然后是控制器的名称,然后是操作。
按照上一个例子:
<a href="@{myServices.MyServicesController.index}">my services</a>