我希望选择一种带有<g:select>标记的语言,并在选择发生变化时将选择参数发送到一个操作。( param应在打开视图的url中可见)
我尝试了<g:form>和<g:select>的不同变体
Params:[lang:deutsch, id:3, action:show, controller:mitarbeiterprofil]
网址:/mitarbeiterprofil/show/3
url应该是/mitarbeiterprofil/show/3/deutsch
/>
params:[lang:show, id:3, action:show, controller:mitarbeiterprofil]
网址:/mitarbeiterprofil/show/3/show
还有其他人知道我会怎么做吗?
发布于 2011-11-11 12:55:46
你必须在这里和UrlMappings.groovy一起玩
首先,让我们调整一下您的形式:
<g:form name="selectLanguage" action='show' id="${mitarbeiterprofilInstance.id}" >
<g:select onchange="submit();"
value="${profilInstance?.sprache?.sprache}"
name="lang"
optionKey="sprache"
optionValue="sprache"
from = "${mitarbeiterprofilInstance.profiles.sprache}" />
</g:form>和制图:
"/mitarbeiterprofil/show/$id/$lang" (controller:"mitarbeiterprofil", action:"show")这能解决你的问题但我很怀疑..。所以试一试,告诉我们结果:)
这里的问题是渲染过程。您的操作url将在用户选择语言之前创建。因此,每次用户选择语言时都必须更新url,否则就会产生url,例如: /mitarbeiterprofil/show/3?lang=en。
https://stackoverflow.com/questions/8092828
复制相似问题