我正在使用 Grails 2.2.1 和 Twitter Bootstrap 插件。
如果我理解正确,GSP 的目的是通过 grails 标签/标签库在服务器端呈现某些东西。
如何使用服务器端方法调用带有控制器myController的动作myAction以仅在模式内呈现?
如果没有这样做的服务器端方式,那么最好的选择是什么?
我正在使用 Grails 2.2.1 和 Twitter Bootstrap 插件。
如果我理解正确,GSP 的目的是通过 grails 标签/标签库在服务器端呈现某些东西。
如何使用服务器端方法调用带有控制器myController的动作myAction以仅在模式内呈现?
如果没有这样做的服务器端方式,那么最好的选择是什么?
如果您希望您的模式从服务器呈现数据而无需刷新当前页面,那么您将需要某种类型的“ajax”来检索数据并填充模式。
一个简单的例子(我假设你有 jquery 和 bootstrap css+js):
//button to launch your modal
<a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a>
//your modal
<div id="myModal" class="modal hide fade" ...
...
<div id="modal-body">..
</div>
将数据加载到模式中的一种方法是将 ajax 调用绑定到模式“显示”事件。这是一个非常基本的示例,但是每当模态显示时,都会调用 myController/myAction/someid 将数据加载到模态主体 div
$(document).ready(function() {
$('#myModal').on('show', function () {
$.ajax({
type: "GET",
url: "${createLink(controller: 'myController', action: 'myAction', id: 'someid')}"
}).done(function(data) {
$('#modal-body').html(data);
});
});//end on()
});//end ready()
Some things to consider:
Hopefully that'll get you started with some ideas