我刚开始学习玩,所以这是一个基本问题,但我搜索了我能想到的每一个术语,但找不到答案。
我想要做的就是有一个页面,在提交时从文本字段中获取一个 ID 并将其直接放在 URL 中(例如 /myservice/person/123)。相反,正在生成的 URL 包含 ID 作为参数(例如 /myservice/person?id=123)。
如果我手动输入 URL,我知道我的控制器被正确调用,所以我倾向于认为我的路由文件是正确的。这是我的条目的样子:
GET /person/:id controllers.PersonActions.getPerson(id: String)
所以我假设我的模板出了点问题,如下所示:
@form(routes.PersonActions.getPerson(personID)) {
@* @inputText(personForm("id")) *@
<input type="text" name="id" value="@personID">
<input type="submit" value="Get">
}
您可以看到我也使用 @inputText 注释掉了另一种方式,但它对我来说表现相同。我不拘泥于任何一种方法。
我也尝试过使用 POST,它完全从 URL 中删除 ID,我也不明白,但由于我只是做一个简单的查询,我宁愿使用 GET。
谁能帮我理解这里发生了什么?我觉得关于路由/URL生成的工作原理有一些我不理解的基本原理,但是我今天已经多次阅读教程和文档,我不知所措。
提前致谢。
哦,我正在使用 Java 7、Play 2.1 和 Eclipse Kepler