我可以有一个动作不止一次调用渲染方法吗?一个动作可以调用多个渲染
def someAction() {
render f.field()
render f.field()
}
我们试图将字段插件中的两个字段呈现为ajax响应来更新div。使用这种方式呈现有任何问题吗?
我可以有一个动作不止一次调用渲染方法吗?一个动作可以调用多个渲染
def someAction() {
render f.field()
render f.field()
}
我们试图将字段插件中的两个字段呈现为ajax响应来更新div。使用这种方式呈现有任何问题吗?
这不是正确的方式,如果你想更新多个元素,可以使通过JSON的领域,像这样:
render ([fieldOne : f.field(), fieldTwo : f.field()] as JSON)
然后在JavaScript的响应,你可以处理两个字段并更新两者。 P/d:你必须导入Grails的转换器使用 “的JSON” 语句
import grails.converters.JSON
简短的答案是否定的。你可以,不过,有你的控制器使用withFormat
以不同的格式呈现:
withFormat {
html bookList:books
js { render "alert('hello')" }
xml { render books as XML }
json { render books as JSON}
}
是的,可以。
class ExampleController {
def action1() {
render text: 'text1'
render text: 'text2'
action2()
}
def action2() {
render text: 'text3'
}
}
您可以调用渲染,直到响应被关闭。
class ExampleController {
def action1() {
render text: 'text1'
return // finishing response
action2()
}
def action2() {
render text: 'will not be rendered'
}
}
P.S.我从来没有这样做过。在行动结束时调用渲染一次比在不同地方的多次调用更好和更清晰。
我认为这是技术上正确的答案,但我仍然找不到任何支持它的文档。对我来说,渲染只是将结果输出转储到响应并因此可以被多次调用,但我们的团队选择使用JSON方法更好地符合文档化方法,这对我来说非常合理。 –
我能找到多个渲染的一个例子,但我相信你的方法更好。 http://grails.asia/grails-render-examples –