1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Welcome to GWTruts

GWT MVC and DI Framework

GWTruts is an easy to use GWT MVC and Dependency Injection framework.

It virtually divides a GWT module to view, controller and validation sections similar to what we had in traditional MVC web frameworks like Apache Struts.

It also provides a dependency injection mechanism similar to Spring that you can use to customize your controllers and views (like providing the height of a component through a property setting in its view class configuration via XML files).

If you use Spring in your project you can have some of the controls as Spring beans and completely omit the RPC calls.

Another interesting feature is the page decorator which can be used for mappings between a URL and a group of controllers/views and sections of the HTML files.

Please download the latest jar file from here or if you use Maven in your projects visit Maven Configuration for instruction on setting your project pom.xml.

After downloading the file read the Quick Start Guide to start using it.

If you are familiar with a traditional web based MVC framework, the learning curve for GWTruts should be few minutes.


License

GWTruts is released under LGPL which means that in most cases you should be able to use it in your proprietary software as a library with no need to make your code open sourced or available to public.


Sample Configuration File

<?xml version="1.0" encoding="windows-1252"?>
<GWTruts  xmlns="http://gwtruts.sourceforge.net/schema/GWTruts"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://gwtruts.sourceforge.net/schema/GWTruts http://gwtruts.sourceforge.net/schema/GWTruts/GWTrutsSchema-0.8.xsd">

  <controllers>
      <controller name="mainController" class="com.yourcompany.app.client.controllers.MainController">
        <property name="val1" value="122"/>
        <property name="val2" text="bbbd"/>
        <property name="val3" ref="mainView"/>
      </controller>
      <controller name="mainShowButtonController" 
                  class="com.yourcompany.app.client.controllers.MainShowButtonController" 
                  async="true"/>      
  </controllers>
  <views>
     <view name="mainView" class="com.yourcompany.app.client.views.MainView" singleton="true"/>
     <view name="sayHelloView" class="com.yourcompany.app.client.views.SayHelloView"/>
  </views>
</GWTruts>

Documentations

1. Tutorials

1.1 Quick Start Guide (Old)

1.2 Quick Start Guide (Page Decorator based)

1.3 AppFuse + GWTruts (Spring, Hibernate, GWT, GWTruts)

1.4 Spring+ GWTruts (Put GWTruts controllers inside Spring Framework)

2. Concepts

2.1 Controller

2.1.1 Synchronize Controller

2.1.2 Asynchronize Controller

2.1.3 Basic Controllers?

2.1.4 Singleton Controller

2.2 View

2.2.1 Special Views

2.2.2 Singleton Views

2.3 Dependency Injection

2.3.1 Property Element

2.3.2 Referencing other controllers and views

2.3.2.1 ViewProxy?

2.3.2.1 ControllerProxy?

2.4 Validation

2.4.1 Validation Classes

2.4.2 Controller Errors

2.5 Mediator

2.5.1 Basic Mediator

2.5.2 URL Based Mediator

2.5.3 Page Decorator

2.6 Entry Points

2.6.1 PageEntry

2.7 Configuration File

2.7.1 Per-module Configuration Files?

3. Guides

3.1 Download and Installation Guide

3.2 Maven Setup

3.2 Design Patterns - Solution for common scenarios

3.2.1 Normal Call?

3.2.2 Post Recipient

3.2.3 Share Recipient

3.2.4 Singleton Recipient (Recommended)

3.2.5 Notify Origin (Recommended)?

Support

Other Projects