我知道这是可以做到这样的事情:如何巢的Grails控制器路径
与动作栏控制器foo就可以通过(1)访问:
/appname/foo/bar
它可以使用被改写URL映射 - 例如像这样:
"/foobar/foo/$action"(controller: "foo")
,然后通过(2)访问:
/appname/foobar/foo/bar
但是仍然可以通过(1)访问它。这当然是因为默认的URL映射:
"/$controller/$action?/$id?"()
但我宁愿不删除这一点,因为这基本上意味着我必须手动写映射到下面的默认模式每隔控制器/行动。
,能够获得URL的模式为特定的控制器/样作用(2)不使用URL映射?如果没有,是否有一种简单的方法可以将控制器从默认映射关闭中“排除”?
我想我明白你在追求什么,蹄。我不认为你可以按照你的意愿来实现它。默认的/ $ controller/$ action/$ id映射必须变为//$ action/$ id,其中 =“foo”。这在颈部有点痛苦,但我实际上必须做类似的事情。你的另一个选择是保持默认的Grails规则,并为路径中的某些东西打破该规则所需的前缀。那么, –
derdc
。后面的建议 - “你的另一个选择是保持默认的Grails规则,并将所有需要打破该规则的东西都加上前缀” - 你会怎么做?我想保留默认的URL映射,但是对于只能在前缀内访问的某些控制器来分解它。 foo控制器只能通过foobar/foo访问:) – Hoof
我会用一些示例代码发布答案。我完全不了解你的要求,但我会告诉你我的意思。 – derdc