0

在我的控制器中,我有条件,例如如果值为 80,那么我需要在我的视图中显示某个按钮,如果值为 50,那么我需要在我的视图中显示不同的按钮。我将如何在 grails 中执行此操作?

4

3 回答 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 回答