如何根据条件在grails中显示和隐藏按钮?
在我的控制器中,我有条件,例如,如果值为80,那么我需要在视图中显示某个按钮,如果值为50,那么我需要在视图中显示另一个按钮。在grails中如何实现这一点?它似乎不是控制器逻辑。您可以在视图中执行以下操作:如何根据条件在grails中显示和隐藏按钮?,grails,button,controller,conditional-statements,Grails,Button,Controller,Conditional Statements,在我的控制器中,我有条件,例如,如果值为80,那么我需要在视图中显示某个按钮,如果值为50,那么我需要在视图中显示另一个按钮。在grails中如何实现这一点?它似乎不是控制器逻辑。您可以在视图中执行以下操作: <g:if test="${val == 80}"> <input type="submit" value="Submit"> </g:if> <g:else> <input type="button" value="
<g:if test="${val == 80}">
<input type="submit" value="Submit">
</g:if>
<g:else>
<input type="button" value="a button">
</g:else>
class TestController {
def index = {
['val':80] //or [val: params.val] if you want to get it from parameters.
}
}如果要在同一页面上执行此操作,需要javascript。
如果您想根据条件呈现页面,请尝试标记我觉得更好的方法是使用标记库,而不是在.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" />'
}
//在您的gsp中
//在标记库中
def showButtons={attrs->
def myValue=attrs.myValue
def value=“提交”
def type=“提交”
如果(myValue!=80){
value=“一个按钮”
type=“按钮”
}
是的,我做了一些类似的事情,但是如何传递val?似乎我的控制器中的val值未被视图识别。请检查此项