在我的控制器中,我有条件,例如如果值为 80,那么我需要在我的视图中显示某个按钮,如果值为 50,那么我需要在我的视图中显示不同的按钮。我将如何在 grails 中执行此操作?
问问题
1531 次
3 回答
1
它似乎不是控制器逻辑。您可以在视图中执行以下操作:
<g:if test="${val == 80}">
<input type="submit" value="Submit">
</g:if>
<g:else>
<input type="button" value="a button">
</g:else>
如果你想将 val 从控制器发送到视图,它类似于:
class TestController {
def index = {
['val':80] //or [val: params.val] if you want to get it from parameters.
}
}
于 2013-05-15T17:43:05.373 回答
0
如果您想在同一页面上执行此操作,则需要 javascript。
如果要根据条件渲染页面,请尝试<g:if>标签
于 2013-05-15T17:45:46.440 回答
0
我觉得更好的方法是使用标签库而不是在.gsp 中包含逻辑。如果您的应用程序的其他地方需要它,您也可以重用此逻辑。
// in your gsp
<lib:showButtons myValue="$val"/>
// in your tag lib
def showButtons = { attrs ->
def myValue = attrs.myValue
def value = "Submit"
def type = "submit"
if(myValue != 80) {
value = "a button"
type = "button"
}
out << '<input type="$type" value="$value" />'
}
于 2015-05-27T14:43:07.373 回答