Rest 部署在Tomcat上下文中的应用程序上的反向路由

Rest 部署在Tomcat上下文中的应用程序上的反向路由,rest,playframework,Rest,Playframework,我正在开发一个Play 1.2.5应用程序,该应用程序将安装在Tomcat环境中: http://mytomcat:8080/myapp 在我的路由文件中,我有: GET /companies/{companyID}/employees Employees.getForCompany GET /companies/{companyID}/employees Employees.getForCompany 按照在Tomcat上下文中部署Play应用程序的说明,我使

我正在开发一个Play 1.2.5应用程序,该应用程序将安装在Tomcat环境中:

http://mytomcat:8080/myapp
在我的路由文件中,我有:

GET     /companies/{companyID}/employees    Employees.getForCompany
GET     /companies/{companyID}/employees    Employees.getForCompany
按照在Tomcat上下文中部署Play应用程序的说明,我使用反向路由器生成URL。这很好,但我不确定在jQuery方法(如这种风格的Ajax请求)的情况下该怎么办:

var companyID = $('#companies').find(":selected").val();
$.ajax({
    url : "@{Employees.getForCompany(companyID)}",
    ...
});
显然,在生成HTML和反向路由器解析路由时,companyID的值是未知的

我能看到的唯一解决方案是重新配置我的
路由
文件,使URL不同,参数始终位于末尾,但这会降低其余URL的逻辑性

GET     /companies/employees/{companyID}    Employees.getForCompany

有更好的方法吗?

我自己找到了解决方案-Play包括
jsAction
标记,该标记生成了一个构建正确URL的函数:

var companyURL = #{jsAction @Employees.getForCompany(':companyID') /}
$.ajax({
    url : companyURL({companyID:companyID}),
    ...
});
这样,我可以维护首选路线映射: