Grails 仅在另一个gsp的div中重新加载一个gsp

Grails 仅在另一个gsp的div中重新加载一个gsp,grails,gsp,Grails,Gsp,我有一个gsp页面,比如search.gsp,它有一个名为“resultContentsFacets”的div。div显示另一个gsp的内容。另一个gsp名为subSearch.gsp。现在在这个页面中,我有一个链接,它调用action subSearch,以便它重新加载subSearch.gsp。但问题是它也会重新加载search.gsp。我该怎么办?用户tim_yates基本上是对的,但您可能需要formRemote而不是remoteLink 基本上你会在search.gsp (摘自文件:有

我有一个gsp页面,比如search.gsp,它有一个名为“resultContentsFacets”的div。div显示另一个gsp的内容。另一个gsp名为subSearch.gsp。现在在这个页面中,我有一个链接,它调用action subSearch,以便它重新加载subSearch.gsp。但问题是它也会重新加载search.gsp。我该怎么办?

用户tim_yates基本上是对的,但您可能需要formRemote而不是remoteLink

基本上你会在search.gsp (摘自文件:有一些改动)

您的div whit id=“ResultContentAsFacets”将被更新,而不需要重新加载整个页面

我的示例不处理浏览器中已关闭javascript的错误情况或用户。如果你想在搜索结果中分页,还有一些事情要做。。。但这是可能的。 我也不确定是否必须包含jquery或执行
才能使用
标记。在文档中查找它。
希望这能有所帮助……

我相信您是
remoteLink
update
设置为包含
subSearch
的div的
id
,所以您想重新加载subSearch.gsp,但不想重新加载search.gsp。?@ch.smrutiranjanparida:是的。。。。
<g:formRemote name="search" 
              update="ResultContentAsFacets" 
              method="GET"
              url="[controller: 'changeThis', action: 'subSearch']">

             <!-- your input/ search fields -->

</g:formRemote>

<div id="ResultContentAsFacets">
   <!-- this div is updated with the result of the submit -->
   <!-- you may already render subSearch.gsp on first pageload here. 
        Just pass all entries to the view in your search action -->
</div>
def subSearch() {
    // perform search and store collection in variable called "result" 
    // (change naming at your will)
    render template: 'subSearch' model: [result: result]
}