如何使用Play framework 1.4.3在controllers文件夹中的文件夹内使用控制器

时间:2017-04-21 21:51:12

标签: java html playframework

我正在使用Play framework 1.4.3,我的问题是我在controllers文件夹中创建了一个新文件夹,并在这个新文件夹中添加了新的控制器类,我对视图的文件夹做了同样的事情但是在我的html中,我试图在标签的href声明ancla路由,这不是它发现我的控制器创建,只发现控制器默认" Application.java"。

示例:

enter image description here

这是我的文件夹层次结构

enter image description here

我可以使用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

1 个答案:

答案 0 :(得分:0)

首先需要引用控制器所在的文件夹,然后是控制器的名称,然后是操作。

按照上一个例子:

<a href="@{myServices.MyServicesController.index}">my services</a>