如何将表单字段值传递给Grails中的服务方法?
问题描述:
我在学习Grails,遇到问题。我实现了脚手架,为我提供了我想要的基本Web表单,并自动生成了控制器。在控制器中,创建代码将接受来自表单中字段的URL输入,然后调用服务方法,我们将其称为executeUrl(),它在某个逻辑中使用该URL,这已完成。如何将表单字段值传递给Grails中的服务方法?
所以我有一个名为myUrl的类有一个属性urlName。
myUrl aUrl = new Url(params)
UrlService.executeUrl(aUrl)
问题是我需要填充aUrl.urlName的东西,因为我上面传递null。当用户在创建表单中输入url时,我如何获取该值并将其传递给executeUrl()?希望这是有道理的,教程已经帮助了这一点,但我卡住了。任何帮助赞赏。
答
于是开始与你的表单字段,假设你有这样的:
<input type="text" name="url" id="url" />
在你的控制器,你可以抓住从PARAMS网址像
def url = params.url
如果你有一个名为url现场你的MyUrl类你可以传递params给构造函数,groovy会为你绑定这个值,命名在这里很关键
class MyUrl {
String url
}
new MyUrl(params)
它看起来像我在我生成的form.gsp文件中有错误。 \t \t 显示错误:“无法解析属性键”。不知道为什么这是自动生成的。有人知道怎么修这个东西吗? –
Sulteric
这只是一个警告,您需要在messages.properties中有相应的条目,例如'myurl.urlName.label = URL' –
明白了,谢谢! – Sulteric