如何在 Grails 中从一个页面 link 到另一个页面

How to link from a page to another in Grails

我知道在 HTML 中,如果我们有一个按钮,我们希望将它 link 到另一个页面,我们使用下面的标签:<a href="#"> button </a>

但是我为 grail 尝试了这个,它没有用,它把我带到了一个空白页面:

in views/admin/admin.gsp 我有一个按钮,我正试图 link views/admin/gm.gsp

<li><a href="Users\mzein\file_down\grails-app\views\admin\gm.gsp">GM</a></li>

我也尝试了 <g:link> 标签:

<g:link resource="gm">

但它不起作用,让我进入错误无路径页面。我指定错误的路径有什么问题?或者这不是它在 grails 中的工作方式?

我知道如何使用控制器,但这是唯一可以从一个页面转到另一个页面的方法吗?

我想使用 URL 映射来完成这样的任务

    class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?(.$format)?"{

        }
        "/"(view:"/index")
        "500"(view:'/error')
        "/views/admin/gm"(resources:'gm')
    }
}

<g:link resource="gm">GM</g:link>

您可以将 createLink 标签与 uri 属性一起使用,例如:

<li><a href="${createLink(uri:'/somepath/gm.gsp')}">GM</a></li>

编辑: 好的,那么您需要在 UrlMappings.groovy 文件中进行请求映射,例如

"/foo/bar"(view: "path/test")

并通过 g:link 作为

提出相应的请求

<g:link controller="foo" action="bar" name="someName">GM</g:link> path 是视图文件夹中目录的路径,其中存在 test.gsp

您需要点击资源的方式是

/appName/controller/action

/appName/controller/action?params for GET request

您也可以使用

<g:link controller="controller" action="action"></g:link>

或者

<a href="${createLink(controller: 'controller', action: 'action')}">link</a>