URL映射在grails中无法正常工作

URL映射在grails中无法正常工作,grails,Grails,我正在做一个应用程序,它是grails权威指南中的gTunes 我使用自定义url重定向到存储控制器,它是 UrlMappings.groovy class UrlMappings { static mappings = { "/"(controller:"store") } } 因此,当我启动应用程序时,它将连接到默认的存储控制器 我有用户域类和用户控制器类,它们有操作注册和登录 User.groovy class User { String login Strin

我正在做一个应用程序,它是grails权威指南中的gTunes

我使用自定义url重定向到存储控制器,它是

UrlMappings.groovy
class UrlMappings {

    static mappings = {
        "/"(controller:"store")
}
}
因此,当我启动应用程序时,它将连接到默认的存储控制器 我有用户域类和用户控制器类,它们有操作注册和登录

User.groovy
class User {
String login
String password
...
}
UserController.groovy
class userController.groovy
{
def register(){
...}
def login(){
..}

StoreController.groovy
class StroeController{
def index(){
..}
USerController在user/register.gsp和store/index.gsp下有相应的视图页

store/index.gsp是
gTunes商店
您的在线音乐商店和存储服务!
管理您自己的音乐库、浏览音乐和购买新曲目
它们变得可用

我想向整个应用程序显示登录页面,我将登录和密码字段放在main.gsp下

layouts/main.gsp
main.gsp is
<g:form name="loginForm"  url="[controller:'user',action:'login']">
Username:
 <g:textField name="login"
 value="${fieldValue(bean:loginCmd, field:'login')}">
 </g:textField><br>
Password:
 <g:passwordField name="password"></g:passwordField> 
 <br/>
 <input type="image"
 src="${createLinkTo(dir:'images', file:'login-button.gif')}"
 name="loginButton" id="loginButton" border="0"></input>
 </g:form>
<g:link controller="user" action="register" >Signup now</g:link>
 to start your own personal Music collection!
layouts/main.gsp
main.gsp是
用户名:

密码:
现在注册 开始你自己的个人音乐收藏!
上面的main.gsp包含具有登录文本字段和密码文本字段以及按钮的表单,Its还包含一个链接标签,当我运行应用程序时,该标签用于注册过程。应用程序转到store controller默认索引页,基于默认url映射,此索引页还包含登录文本字段、密码字段和登录按钮,当我按下登录按钮时,它还包含注册链接。其工作正常,但当单击注册链接时,它不会进入用户控制器的注册页,即使register.gsp和User控制器包含寄存器操作,但当我删除“/”(控制器:“存储”)时来自url映射类的代码然后我执行应用程序显示我在商店控制器上单击的控制器列表移动到其索引页中,我单击了注册链接立即注册该链接运行良好它将进入用户控制器的注册gsp页,但当我使用上述自定义url时它不工作映射

您需要在自定义映射之前添加“默认”映射

"/$controller/$action?/$id?"{ constraints {
                // apply constraints here
            } }
此映射:

  "/"(controller:"store")
只有映射“/”,所以任何请求都将转到store controller,因为您没有任何其他规则,所以如果您尝试访问/user/login,它将尝试在store controller中搜索用户视图。

试试这个..它对我有效。(Grails 2.4.5/java 8和java 7)

  "/"(controller:"store")
class UrlMappings { 
   static mappings = {
    "/$controller/$action?/$id?"{
            // apply constraints here   
    }
    "/intialize/$id?" (controller: "xyz") {
            action = [GET:"abc"]
    }
    "/checksession" (controller: "xyz") {
            action = [GET:"mno"]
    }