Я использую Grails последние 3 недели (учусь и работаю). Я работал над переносом приложения JSP / Servlet на Grails, и портирование приложения было абсолютно «забавным».
Я столкнулся с проблемой и искал, читал, но пока не смог ее решить.
На странице GSP у меня есть текстовое поле и кнопка поиска, где пользователь вводит ProductID. У меня есть контроллер, который вызывается из метода jQuery Ajax при нажатии кнопки поиска.
// ----- Part of jQuery Ajax call ---
$.ajax({
type : "post",
url : '/${grailsApplication.metadata['app.name']}/product/checkProductAjax',
data : "pid="+proID,
// ----- Contoller code-----
class ProductController {
def scaffold = true
def checkProductAjax = {
def product= Product.findByProductId(params.pid)
if(product) {
[product: product] // model to get data in GSP page.
render(product.toString() + ":" + product.id)
} else {
render("none")
}
}
}
вызов Ajax и все работает отлично. Проблема, с которой я сталкиваюсь, заключается в том, как вернуть модель (то есть данные о продукте обратно на страницу GSP, т. Е. [Продукт: продукт] и отобразить в GSP, как, например, название продукта: $ {product}
Как мне заставить его работать? Я читал примеры, где упоминается, что просто установка модели [product: product] поможет получить данные в GSP.
Название продукта: $ {product} всегда отображается пустым на странице GSP Название продукта:
Пожалуйста, скажите мне, что я делаю неправильно.
Ура!
Джей Чандран