使用超链接发送参数

时间:2016-08-28 07:06:33

标签: twitter-bootstrap grails hyperlink

我正在开发一个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>

但是我得到了错误的错误!

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:0)

首先 - 不要围绕<a>代码包装按钮。如果您想要一个按钮作为链接,请在其中使用href

<button href="${createLink(...)}"/>

第二 - 如果你只有一个参数并且你想要它在斜线后面,不要把它作为params的地图,但只是一个id:

<button href="${createLink(controller: 'sponsorship', action: 'create', id: tekEventInstance?.id])}"/>

希望这有帮助! :)