Rest 部署在Tomcat上下文中的应用程序上的反向路由
我正在开发一个Play 1.2.5应用程序,该应用程序将安装在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应用程序的说明,我使
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}),
...
});
这样,我可以维护首选路线映射: