Book Image

Grails 1.1 Web Application Development

By : Jon Dickinson
Book Image

Grails 1.1 Web Application Development

By: Jon Dickinson

Overview of this book

Web development is trickyóeven a simple web application has a number of context changes ready to trip up the unwary. Grails takes the everyday pain out of web application development, allowing us to focus on delivering real application logic and create seamless experiences that will address the needs of our users. This book will take the pain out of Grails by showing you exactly how to build a web application with a minimum of fuss. With this book, even if you are new to Grails, you will be up and running before you know it. You will be able to code faster and your code will be better. This clear and concise book is packed with examples and clear instructions to help you build your first Grails application and gives you the skills to speed up your application development by adding a different angle for learning about the topic. After a brief introduction to the dynamic JVM-based Groovy programming language, which teaches you enough about Groovy to understand the relationship between Grails and the Groovy scripting language, it shows how to use Grails and a number of key plug-ins to deliver valuable web applications. It also takes you through creating, developing, testing, and deploying an example team collaboration application in Grails. Using an incremental and iterative approach you will learn how to build a basic web application with secure authentication and different levels of authorization. You will learn how to handle file upload allowing users to share files. Some advanced features of object-oriented persistence will be introduced through adding tags for messages and files to giving users a robust categorization system. You will then build on the basic application to enhance the user experience through AJAX and the RichUI plug-in. You will take a further step into the world of Web 2.0 by adding an RSS feed and a REST service to the application. Once the entire application is up and running, you will learn how to create your own plug-in for tagging. Finally, you will learn how to deploy this application to a production environment.
Table of Contents (20 chapters)
Grails 1.1 Web Application Development
Credits
About the author
Acknowledgement
About the reviewers
Preface

Viewing files


The next step is to show the uploaded files to the other team members using the application. We will display files on the home page next to messages. So we must:

  • Update the home page controller

  • Update the home page GSP

  • Add new message entries

The HomeController changes to:

package app
class HomeController {
def index = {
def messages = Message.list( sort: 'lastUpdated', order: 'desc', fetch: [ user: 'eager' ] )
def files = File.list( sort:'lastUpdated', order:'desc', fetch:[user:'eager'] )
return [messages: messages, files: files]

}
}

A list of files is retrieved in exactly the same way as a list of messages. We then need to add the files to the model that is to be rendered.

In order to render the files, the home page GSP at grails-app/views/home/index.gsp must be updated. Add the following code after the message div:

<div class="panel">
<h2>Files</h2>
<g:each in="${files}" var="file">
<div class="afile">
<div class="filename">
<a href="$...