Grails + JQuery

Today I had a bit of time to do some further grails fooling around. I already had a working application old school (so everything you do was a page refresh.). I wanted to do some small Ajax stuff (getting a product using it’s id and then prefilling the price fields with that value.)

In my domain I have the following object

class Product {

String name
String description
double buyInPrice
double unitPrice
double vatPerc

static hasMany = ['productPricings':ProductPricingHistory]

String toString(){
return "${description} ${unitPrice}"

In my controller I have to following

import grails.converters.JSON

class ProductController {

def scaffold = Product

def showjson = {
def product = Product.get(
render product as JSON


In my gsp I have to following snippit

$("#product\\.id").change( function() {
function setPrice(productId){
alert("Failed to save patient!: " +
xhr.status + ", " + xhr.statusText );


function calculatePrice(){
var unitprice = $("#unitprice").val();
var units = $("#units").val();
$("#priceExcl").val((unitprice * units));

function initProduct(json){

As you can see it is really nice. Okay with Java + DWR this is also very simple, but here I have it in my controller and just say render … as JSON and grails does the rest. Actually I still have to look if Spring has some kinde of build in JSON renderer. Probably somebody already created this. But hey now I save and run (no need for start stop of my application server 😀 ) and in the end it’s still bytecode I’m using.

I still have to do some grails testing where I generate my backend in JPA and include it in a jar. However the grails/groovy part should still be reloadable, right? Anybody tried this yet?

Leave a Reply