我正在开发一个grails项目,我正在编辑视图,以便我可以使用 BootStrap
在这里,我想用超链接替换 g:link ,我必须向控制器发送一些参数(id) < / p>
这是我的代码:
interface ITarget
{
List<string> GetProducts();
}
public class VendorAdaptee
{
public List<string> GetListOfProducts()
{
List<string> products = new List<string>();
products.Add("Gaming Consoles");
products.Add("Television");
products.Add("Books");
products.Add("Musical Instruments");
return products;
}
}
class VendorAdapter:ITarget
{
public List<string> GetProducts()
{
VendorAdaptee adaptee = new VendorAdaptee();
return adaptee.GetListOfProducts();
}
}
class ShoppingPortalClient
{
static void Main(string[] args)
{
ITarget adapter = new VendorAdapter();
foreach (string product in adapter.GetProducts())
{
Console.WriteLine(product);
}
Console.ReadLine();
}
}
我尝试使用:
<g:link controller="sponsorship" action="create" params="['tekEvent.id': tekEventInstance?.id]">MyLink</g:link>
并且它有效,但我不认为使用“/”总是像这样工作,我有兴趣使用像这样的东西:
<a href="${createLink(controller: 'sponsorship' , action: 'create')}/${tekEventInstance?.id}">MyLink</a>
但是我得到了错误的错误!
任何人都可以帮我吗?
答案 0 :(得分:0)
首先 - 不要围绕<a>
代码包装按钮。如果您想要一个按钮作为链接,请在其中使用href
:
<button href="${createLink(...)}"/>
第二 - 如果你只有一个参数并且你想要它在斜线后面,不要把它作为params的地图,但只是一个id:
<button href="${createLink(controller: 'sponsorship', action: 'create', id: tekEventInstance?.id])}"/>
希望这有帮助! :)