一个动作可以调用多个渲染器吗
Can an action call more than one render
我可以让一个动作多次调用 render 方法吗?
def someAction() {
render f.field()
render f.field()
}
我们正在尝试将字段插件中的两个字段呈现为 ajax 响应以更新 div。以这种方式使用渲染有任何问题吗?
这不是正确的方法,如果你想更新多个元素,你可以通过 json 渲染字段,像这样:
render ([fieldOne : f.field(), fieldTwo : f.field()] as JSON)
然后在JavaScript响应中,您可以处理这两个字段并更新它们。
P/D:您必须导入 grails 转换器才能使用 "as 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。我从来没有这样做过。在动作结束时调用一次 render 比在不同地方多次调用更好更清晰。
我可以让一个动作多次调用 render 方法吗?
def someAction() {
render f.field()
render f.field()
}
我们正在尝试将字段插件中的两个字段呈现为 ajax 响应以更新 div。以这种方式使用渲染有任何问题吗?
这不是正确的方法,如果你想更新多个元素,你可以通过 json 渲染字段,像这样:
render ([fieldOne : f.field(), fieldTwo : f.field()] as JSON)
然后在JavaScript响应中,您可以处理这两个字段并更新它们。 P/D:您必须导入 grails 转换器才能使用 "as 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。我从来没有这样做过。在动作结束时调用一次 render 比在不同地方多次调用更好更清晰。