You need to register angular by setting the ngApp directive. If you change
<div ng-view>
to
<div ng-app>
you should be fine.
EDIT
Here the code with which I tested and suppose to work nicely.
index.gsp
<head>
<meta name="layout" content="main" />
<title>Title Page</title>
<r:require module="angular" />
</head>
<body>
<div ng-app>
<div>Hello World!</div>
<p>Nothing here {{'yet' + '!'}}</p>
<p>1 + 2 = {{ 1 + 2 }}</p>
</div>
</body>
main.gsp
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><g:layoutTitle default="Grails"/></title>
<link rel="stylesheet" href="${resource(dir: 'css', file: 'main.css')}" type="text/css">
<g:layoutHead/>
<g:javascript library="application"/>
<r:layoutResources />
</head>
<body>
<div id="grailsLogo" role="banner"><a href="http://grails.org"><img src="${resource(dir: 'images', file: 'grails_logo.png')}" alt="Grails"/></a></div>
<g:layoutBody/>
<div class="footer" role="contentinfo"></div>
<div id="spinner" class="spinner" style="display:none;"><g:message code="spinner.alt" default="Loading…"/></div>
<r:layoutResources />
</body>
</html>
ApplicationResources.groovy
modules = {
application {
resource url: 'js/application.js'
}
'angular' {
resource url: 'js/angular.js'
}
}
output
Hello World!
Nothing here yet!
1 + 2 = 3