This file is indexed.

/usr/lib/Wt/examples/wt-homepage/jwt-home.xml is in witty-examples 3.3.0-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
<?xml version="1.0" encoding="UTF-8" ?>
<messages>
  <message id="template">
    <div id="top_wrapper">
      <div id="top_content">
	${languages}
	<div id="top_wt">
	  <a href="http://www.emweb.be/">
	    <img src="/css/jwt/emweb_powered.jpg" alt="Emweb" height="22" />
	  </a>
	</div>
      </div>
    </div>

    <div id="banner_wrapper">
      <div id="banner_content">
	<div id="banner_end"> <div id="banner"><a href="#">JWt</a></div> </div>
      </div>
    </div>

    <div id="main_wrapper" class="home">
      <div id="main_content">
	<div id="main_menu">
	  ${menu}
	  ${sidebar}
	</div>
	${contents}

	<div class="clearall"></div>
      </div>
    </div>

    <div id="footer_wrapper">
      <div id="footer_content">
	<div id="footer_copyright"> 
	  <a href="http://www.emweb.be/">
	    <img src="/css/jwt/emweb_large.jpg" height="25" width="101"
		 alt="Emweb.be" title="emweb.be"/></a>
	  Solutions for web-based systems<br/>
	  <a href="http://www.emweb.be/">www.emweb.be</a>
	</div>

	<div id="footer_menu"> 
	  <a href="http://www.webtoolkit.eu/wt/">Home</a>
	  | <a href="http://www.emweb.be/?page=contact">Contact</a>

	</div>

	<div id="chat"></div>
	<script src="http://www.webtoolkit.eu/wt/examples/simplechat/chat.js?div=chat" type="text/javascript"></script>

	<div class="clearall"></div>
      </div>
      <script type="text/javascript">
	    /*<![CDATA[*/
            window.pageTracker = null;
            loadScript("http://www.google-analytics.com/ga.js", function() {
              window.pageTracker = _gat._getTracker('UA-4345578-1');
              window.pageTracker._initData();
              window.pageTracker._trackPageview();
            });
            /* ]]> */
      </script>
    </div>
  </message>

  <message id="wt">JWt, Java Web Toolkit</message>

  <message id="introduction">Introduction</message>
  <message id="blog">Blog</message>
  <message id="features">Features</message>
  <message id="documentation">Documentation</message>
  <message id="examples">Examples</message>
  <message id="download">Download</message>
  <message id="community">Support</message>
  <message id="other-language">!Java</message>

  <message id="hello-world">Hello world</message>
  <message id="charts">Charts</message>
  <message id="wt-homepage">Wt homepage</message>
  <message id="treeview">Treeview</message>
  <message id="git">Git explorer</message>
  <message id="chat">Chat</message>
  <message id="mail-composer">Mail composer</message>
  <message id="figtree">FigTree</message>
  <message id="widget-gallery">Widget gallery</message>

  <message id="home.news">
    <h3><span>News</span></h3>
  </message>
  <message id="home.latest-news">
    <h4><span>Latest News</span></h4>
  </message>
  <message id="home.historical-news">
    <h4><span>Historical News</span></h4>
  </message>
  
  <message id="source-browser-link">
    <a href="{1}">Browse the source code</a>
  </message>

  <message id="src-title">
    <div>
    </div>
  </message>


  <message id="home.intro">

<h3><span>JWt: an introduction</span></h3>

<p>JWt is a Java library for developing web applications.</p>

<p>The API is <b>widget-centric</b> and uses well-tested patterns of
desktop GUI development tailored to the web. To the developer, it offers
abstraction of web-specific implementation details, including client-server
protocols, event handling, graphics support, graceful degradation (or
progressive enhancement) and URL handling.</p>

<p>Unlike many page-based frameworks, JWt was designed for creating
stateful applications that are at the same time highly interactive
(leveraging techinques such as Ajax to their fullest) and accessible
(supporting plain HTML browsers), using automatic <b>graceful
degradation or progressive enhancement</b>. Things that are natural
and simple with JWt would require an impractical amount of effort
otherwise: switching widgets using animations, while being perfectly
indexed by search robots with clean URLs, or having a persistent chat
widget open throughout, that even works in legacy browsers like
Microsoft Internet Explorer 6.</p>

<p>JWt applications can be deployed in a standard Java Servlet
container.</p>

<h4>Interactive, secure and accessible</h4>

<p>Page-based web frameworks (JSP/JSF, Struts, Spring MVC, etc...)  do not
attempt to abstract underlying technologies (HTML/XHTML, JavaScript,
CSS, Ajax, WebSockets, Comet, Forms, DHTML, SVG/VML/Canvas). As a
consequence, a web developer needs to be familiar with all of these
evolving technologies and is also responsible for graceful degradation
when browser support is lacking. The structure of many web
applications still follows mostly the page-centric paradigm of early
day HTML. This means that not only will you need to implement a
controller to indicate how a user moves from page to page, but when
using advanced Ajax, you will need to design and maintain your
client-server communication.</p>

<p>Pure Ajax frameworks on the other hand require tedious JavaScript
programming to deal with browser quirks, and client-server programming
to interact securely with server resources. These applications usually
are not compliant with accessibility guidelines and cannot be indexed
by a search robot.</p>

<p>In either case, generating HTML code or filling HTML templates is
prone to security problems such as <a
href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS
(Cross-Site-Scripting)</a> by unwillingly allowing JavaScript to be
inserted in the page, and <a
href="http://en.wikipedia.org/wiki/Cross-site_request_forgery">CSRF
(Cross-Site Request Forgery)</a> by trusting cookies for
authentication. These security problems are hard to avoid by a
framework when as a developer you need to implement JavaScript
functionality thus the framework cannot filter it out.</p>

<p>In contrast, a web application developed with JWt is developed
against a Java API, and the library provides the necessary HTML/XHTML,
Javascript, CGI, SVG/VML/Canvas and Ajax code. The responsibility of
writing secure and browser-portable web applications is carried by
JWt. For example, if available, JWt will maximally use JavaScript and
Ajax, but applications developed using JWt will also function correctly
when JavaScript is not available. JWt will start with a plain HTML/CGI
application and progressively enhance to a rich Ajax application if
possible. With JWt, security is built-in and by default.</p>

<p>By using standard Java and JVMs, JWt applications can benefit from
any existing Java libraries and JVM features including its support for
your favourite scripting language.</p>

<h4>Typical use scenarios:</h4>

<ul>
  <li><b>High performance, complex web applications</b> (with a
    database backend) that require a responsive and dynamic user
    interface and benefit from the use of Java, if only to use Java
    refactoring tools while keeping track of ever changing
    requirements.</li>

  <li>Web applications which maximally benefit from modern browser
    capabilities but with <b>graceful degradation</b> to adhere to W3C
    accessibility guidelines and be search engine friendly.</li>

  <li>Porting of <b>Java desktop applications</b> to the web.</li>
</ul>

<h4>Some benefits of using JWt</h4>

<ul>
  <li>The library allows you to develop web applications much like you
    develop Java desktop applications, using your favourite JVM
    programming language, while benefitting fully from the powerful
    tools available for (Java) development such as flexible debugging
    and source code refactoring.</li>
  <li>There are no fragile string-based bindings of parameters in
    templates or XML files, nor do you need to implement tedious (and
    security critical) request/response controller logic.</li>
  <li>Just a library: no need for new conventions which imply behavior
    or requirements for organizing your source code.</li>
  <li>JWt applications have automatic fall-back for non-JavaScript
    browsers where possible, allowing you to create fully accessible
    applications, which benefit from Ajax where available.</li>
  <li>Optionally, use XHTML and CSS for layout and decoration.</li>
  <li>Generates standards compliant HTML or XHTML code.</li>
  <li>Portable, anti-aliased graphics optimized for web usage (using
    inline VML, inline SVG, HTML5 canvas or PNG images).</li>
  <li>Avoid common security problems since Wt has complete control
    over the presentation layer and proactively filters out
  <i>active</i> tags and attributes, does not expose business logic,
    and simplifies authentication using a stateful design.</li>
  <li>Ultra-fast load time and low bandwidth usage, which are affected
    only by screen complexity, not application size. Wt implements all
    the common tips and tricks for optimizing application
    responsiveness and even optimizes per browser.</li>
  <li>Integrates well with modern object relational mapping techniques such
    as the Java Persistence API (e.g. Hibernate).</li>
</ul>

  </message>
  <message id="home.features">

<h3><span>Features</span></h3>

<h4>Core library</h4>

<ul>
  <li>Supports major browsers (Firefox/Gecko, Internet Explorer,
    Safari, Chrome, Konqueror, and Opera) but also plain HTML browsers
    (Links, Lynx).</li>
  <li>Simple deployment in standard Java Servlet 2.4 or 3.0 containers. </li>
  <li>No need for IDE plugins: it's plain old Java.</li>
  <li>Equal behavior with or without support for JavaScript or Ajax,
    as far as possible, by using graceful degradation or progressive
    enhancement.</li>
  <li>Efficient rendering and low latency.</li>
  <li>Support for browser history navigation (back/forward buttons and
    bookmarks), pretty URLs with HTML5 History if available, and
    search engine optimization with a unified behavior for plain HTML
    or Ajax sessions.</li>
  <li>Widget centric API that promotes component reuse and increases
    productivity.</li>
</ul>

<h4>Event handling</h4>

<ul>
  <li>Uses an event listener system for server-side event handling, 
    comparable to Java GUI frameworks (SWT, Swing).</li>
  <li>Listen for keyboard, mouse, focus and scroll events, and get
    event details (such as mouse position, modifier buttons, or
    keyboard key).</li>
  <li>Automatic synchronization of form field data between browser and
    server.</li>
  <li>Possibility to hook in custom JavaScript (e.g. for client-side
    only event handling), and <i>emit</i> Java signals from this
    custom JavaScript.</li>
  <li>Flexible Drag&amp;Drop API.</li>
  <li>Timed events and server-initiated updates ("server push"), the
    latter using Servlet 3.0 async features when deployed in a Servlet
    3.0 container.</li>
</ul>

<h4>Native painting system</h4>

<ul>
  <li>Unified painting API which uses the browsers native (vector)
    graphics support (inline VML, inline SVG, or HTML5 canvas).</li>
  <li>Supports arbitrary painter paths, clipping, text, images,
    transformations, drop shadow.</li>
</ul>

<h4>GUI components</h4>

See also the <a href="http://jwt.emweb.be/jwt-gallery/gallery">Widget
gallery</a> for an interactive overview of built-in functionality.

<h4>Built-in security</h4>

<ul>
  <li>Enables continuous use of HTTPS through low bandwidth
    requirements.</li>
  <li>Built-in Cross-Site Scripting (XSS) prevention. Rendered text is
    always filtered against potentially malicious code, making XSS
    attacks against JWt applications (close to) impossible.</li>
  <li>Not vulnerable to Cross-site Request Forgery (CSRF) because
    cookies are not needed for session tracking.</li>
  <li>Not vulnerable to breaking the application logic by skipping to
    a particular URL, since only those events exposed in the interface
    can be triggered.</li>
</ul>

<h4>Testing</h4>

With JWt, event handling code constructs and manipulates a widget
tree, which can easily be inspected by test code. Therefore, a <a
href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WTestEnvironment.html">test
environment</a> allows your application to be instantiated and events
to be simulated in absence of a browser, short-cutting the underlying
request/response cycle that would otherwise require a simulated
browser.

<h4>Deployment</h4>
<ul>
  <li>Deploy into servlet containers (Tomcat, Jetty) and application
    servers (JBoss).</li>
  <li>Consists out of (currently four) jar files that need to be
    included in the IDE or used in war/ear archives.</li>
  <li>No XML, except for JEE's web.xml and message resource bundles.</li>
</ul>

  </message>
  <message id="home.examples">

<h3><span>Examples</span></h3>

<p>Explore some live examples of JWt below.</p>

<p>
  The source code of these (and many more) examples is included in the
  JWt source distribution. You may also browse through the source code
  of each example using the <a href="#/src">source code viewer</a>.
</p>

  </message>

  <message id="home.examples.hello">
<div>
<h4 class="example">Hello world!</h4>

<p>
  <a href="http://jwt.emweb.be/jwt-hello/" class="run" target="_blank">
    <img src="/icons/orange-play.png" style="vertical-align: top"/> Run example
  </a>
</p>

<p>This simple example illustrates most of the basic JWt concepts:</p>
<ul>
  <li>
    How to create a simple Ajax web application that degrades
    gracefully to plain HTML post-backs, using <a
    href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WApplication.html">WApplication</a> that corresponds to a new session.
  </li>
  <li>
    <b>Creating widgets</b>, and adding them to <b>the widget tree</b>.
  </li>
  <li>
    Reacting to events using <b>event listeners</b>.
  </li>
  <li>
    Reading user input and updating widgets.
  </li>
</ul>
</div>
  </message>

  <message id="home.examples.treeview">
<div>
<h4 class="example">Treeview</h4>
<p>
  <a href="http://jwt.emweb.be/jwt-treeviewdragdrop/treeviewdragdrop" class="run" target="_blank">
    <img src="/icons/orange-play.png" style="vertical-align: top"/> Run example
  </a>
</p>

This example illustrates some MVC functionality provided by builtin
Views (WTreeView, WTableView and PieChart) and models.

<ul>
  <li>
    The example uses <a
    href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WTreeView.html">WTreeView</a>
    and <a
    href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WTableView.html">WTableView</a> widgets for rendering a Model's
    data in a tree or a table.
  </li>
  <li>
    A <a
    href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WSortFilterProxyModel.html">WSortFilterProxyModel</a>
    implement sorting and filtering for another model.
  </li>
  <li>
    These item views have support for drag and drop of a selection of items.
  </li>
  <li>
    You can use nested layout managers (horizontal and
    vertical
    <a
    href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WBoxLayout.html">WBoxLayout</a>)
    for an automatic window-filling layout, with optional resize handles.
  </li>
  <li>
    Modal (and non-modal) <a
    href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WDialog.html">dialogs</a> can be used to prompt for input.
  </li>
</ul>
</div>
  </message>

  <message id="home.examples.chart">
<div>
<h4 class="example">Charts example</h4>

<p>
  <a href="http://jwt.emweb.be/jwt-charts/charts" class="run" target="_blank">
    <img src="/icons/orange-play.png" style="vertical-align: top"/> Run example
  </a>
</p>

<p>This example demonstrates the <a
href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/chart/package-summary.html">JWt
charting widgets</a> that are implemented on top of JWt's
cross-browser painting API. This painting API uses built-in browser
support for generating high quality graphics. Depending on the
browser, inline VML, inline SVG, HTML5 canvas or a PNG image is used
to render painted contents in a <a
href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WPaintedWidget.html">WPaintedWidget</a>.
</p>

<p>This example also demonstrates how a Model can be shared by several
Views, and pass modification events to each connected View. The <a
href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WTableView.html"
target="_blank">table view</a> and the chart implement a <i>View</i>
on the same <a
href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WAbstractItemModel.html"
target="_blank">item model</a>.</p>

</div>
  </message>

  <message id="home.examples.composer">
<div>
<h4 class="example">Mail composer</h4>

<p>
  <a href="http://jwt.emweb.be/jwt-composer/composer" class="run" target="_blank">
    <img src="/icons/orange-play.png" style="vertical-align: top"/> Run example
  </a>
</p>

<p>
  This example implements a GMail-like mail composer and shows among
  other things how to upload files asynchronously, showing a
  cross-browser upload progress bar and with support for multiple
  files.
</p>

<p>
  Some notes about this example:
</p>

  <ul>
    <li>
      The <i>ContactSuggestions</i> class provides auto-completion of
      the addressees in the To: Cc: and Bcc: fields. The widget
      derives from <a
      href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WSuggestionPopup.html">WSuggestionPopup</a>.
    </li>
    <li>
      The <i>AttachmentEdit</i> widget uses a <a
      href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WFileUpload.html">WFileUpload</a>
      to asynchronously upload one or more files. The upload <a
      href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/eu/webtoolkit/jwt/WProgressBar.html">progress bar</a> will work even in IE6.
    </li>
  </ul>
</div>
  </message>

 <message id="home.examples.chat">
<div>
<h4 class="example">Simple Chat</h4>

<p>
  <a href="http://jwt.emweb.be/jwt-simplechat/simplechat" class="run" target="_blank">
    <img src="/icons/orange-play.png" style="vertical-align: top"/> Run example
  </a>
</p>

<p>
  This example implements a simple chat client and server. Using
  <b>server-initiated updates</b>, you can easily push events from one
  user to other users. Server-initiated updates are implemented
  using Ajax long polling.
</p>

<p>
  When deploying in a Servlet-3.0 container, you can enable its
  asynchronous processing and JWt will benefit from this to not tie up
  threads for each open connection. But you can also deploy the
  application on a Servlet-2.5 container, reverting to blocking
  threads. This may be convenient when a Servlet-3.0 container is not
  available, e.g. during development.
</p>

<p>
  It also illustrates nice benefits of a class-based approach to web
  application development: you can easily instantiate the same widget
  class multiple times. The SimpleChatClient widget may be reused
  just as you reuse basic JWt widgets such as a push button.
</p>

<p>
  Interactive applications like these, which allow users to post HTML
  text to other users, are notorious for <b>cross-site-scripting (XSS)
  attacks</b>: a user enters malicious (javascript) code as part of
  his message. When another user renders this message, it may transmit
  unwanted private information retrieved from, for example, browser
  cookies. JWt prevents such attacks completely, and without any
  responsibility to the developer, since widgets such as WText ensure
  that what is displayed is only passive text, discarding anything
  that is not strictly text.
</p>
</div>
  </message>

 <message id="home.examples.figtree">
<div>
<h4 class="example">FigTree</h4>

<p>
  <a href="http://jwt.emweb.be/figtree/figtree" class="run" target="_blank">
    <img src="/icons/orange-play.png" style="vertical-align: top"/> Run example
  </a>
</p>

<p>
  <a href="http://tree.bio.ed.ac.uk/software/figtree/"
  target="_blank">FigTree</a> is an application created by Andrew
  Rambaut for visualizing
  <a href="http://en.wikipedia.org/wiki/Phylogenetic_tree"
  target="_blank">phylogenetic trees</a> estimated from molecular
  data. It is a Java Swing application with a basic UI available as a
  Java applet.</p>

<p>
  In no more than 500 lines Java code, we rehashed the applet version
  into a real web application, reusing much of the existing
  application. In fact, we needed only a single line code change in
  the reused Swing code.
</p>

<p>
  The source code of this example is not part of the JWt source
  distribution, but you can find it (including the web version which
  we contributed) on
  the <a href="http://code.google.com/p/figtree/source/checkout"
  target="_blank">FigTree project page</a>.
</p>

<p>
  See also
  our <a href="#/blog/2010/10/25/fun_with_jwt_and_swing__webgraphics2d"
  target="_blank">blog post</a> on porting this application.
</p>
</div>
  </message>

  <message id="home.examples.widgetgallery">
<div>
<h4 class="example">Widget gallery</h4>

<p>
  <a href="http://jwt.emweb.be/jwt-gallery/gallery" class="run" target="_blank">
    <img src="/icons/orange-play.png" style="vertical-align: top"/>  Go to widget gallery
  </a>
</p>

<p>
 This example demonstrates most widgets provided by Wt, in addition to
 other aspects such as event handling and layout classes. Useful as an
 executable reference to widgets and features provided by the library.
</p>

</div>
  </message>

  <message id="home.download">
    <h3><span>Download</span></h3>
  </message>
  <message id="home.download.license">
<h4>License and Pricing</h4>

<p>JWt may be used using either an Open Source or a Commercial License.</p>

<p>If you wish to use the library using the <b>GNU General Public
License (GPL)</b>, you may build a web application with JWt and deploy
it, but per the terms of the GPL, you are obliged to make the source
code available to anyone who you give the application to install the
application on its own server. This also applies to redistribution of
the JWt library, in original or modified form.</p>

<p><b>The Commercial License</b> has no such limitations: you may
redistribute applications developed with JWt without needing to
redistribute the source code. The license is a royalty-free, perpetual
license for one developer to use the API of JWt for application
development, using the latest version of JWt or any version released
during one year, and costs &euro;599.
</p>
  </message>

  <message id="home.download.other">

<p>As of JWt 3.1.11, JWt is also available in Maven and can be added
to a project using:
  <pre class="fragment">&lt;dependency&gt;
  &lt;groupId&gt;eu.webtoolkit&lt;/groupId&gt;
  &lt;artifactId&gt;jwt&lt;/artifactId&gt;
  &lt;version&gt;3.1.11&lt;/version&gt;
&lt;/dependency&gt;</pre></p>

<h4>System requirements</h4>

For building and using the latest version of JWt, you should follow the  <a
href="http://www.webtoolkit.eu/jwt/latest/doc/userguide/userguide.html#getting-started"> Getting started tutorial
</a>, this tutorial explains on how to build JWt and run the examples.

<h4>Git repository</h4>

<a href="https://github.com/kdeforche/jwt"><img style="display: block; width: 80px; float: right" src="https://github.com/github/media/blob/master/octocats/octocat.png?raw=true"></img></a>
<p>If you want to keep track of the latest changes, or participate in
JWt development, you may want to work from
the <a href="https://github.com/kdeforche/jwt">github
repository</a>.</p>

<p>
<div class="fragment">
  <pre class="fragment">$ git clone git://github.com/kdeforche/jwt.git</pre>
</div>
</p>
  </message>

  <message id="home.download.packages">
    <h4><span>Available packages</span></h4>
  </message>
  <message id="home.download.version"><b>Version</b></message>
  <message id="home.download.date"><b>Date</b></message>
  <message id="home.download.description"><b>Description</b></message>

  <message id="home.community">
<h3><span>Support</span></h3>

<h4>Support and Training</h4>

<p>
  You can get <a href="http://www.emweb.be/support">support and
  training</a> directly from the library authors, with a
  guaranteed three-day response time.
</p>

<p>
  Community help is available in the <a
  href="http://redmine.webtoolkit.eu/projects/wt/boards">public
  forums</a>.
</p>

<p>
  To get up to speed with JWt, you may also obtain <a
  href="http://www.emweb.be/support">training</a> directly from
  the library authors.
</p>

<h4>Authors</h4>

<p>
  JWt is mainted by <a href="http://www.emweb.be/">Emweb bvba</a>, and
  is derived from the latest version of its sibling C++ solution,
  <a href="http://www.webtoolkit.eu/wt">Wt</a>.
</p>

<h4>Wiki</h4>

<p>
  There is a community-run <a
  href="http://redmine.webtoolkit.eu/projects/jwt/wiki">JWt Wiki</a> where
  you may share tips, notes and experiences using JWt.
</p>

<h4>Contributions</h4>

<p>
  User contributions are welcomed, ranging from simple patches to
  widgets, widget sets, and core improvements.
</p>

<p>
  However, because JWt is dual-licensed under an Open Source and
  commercial license, and to legally protect the code base of JWt as a
  whole by one entity without having to worry about the copyrights for
  different pieces, we require a copyright assignment from contributors
  to <a href="http://www.emweb.be/">Emweb</a> before
  accepting the contribution.
</p>
  </message>

  <message id="home.other-language">

<h3><span>!Java ?</span></h3>

<p>You like the functionality, but do not grock Java for your project?</p>

<p>Do not despair. JWt exists in a native variant or through bindings
in other languages:

<ul class="languages">

<li>
<div>
<img class="language-icon" src="/icons/clojure-logo.png" alt="Clojure"></img>

Leveraging the JVM's support for other languages, such
as <b>Clojure</b>, a LISP variant, Ralph Moritz is experimenting
with <a href="http://lispetc.posterous.com/hello-jwt-from-clojure">using
JWt from within Clojure</a>, documenting his experience in his blog
and eventually developing a small support library.
</div>

<br style="clear: both" />

</li>
<li>
<div>
<img class="language-icon" src="/icons/jython-logo.png" alt="Jython"></img>

Albert Cervera i Areny is experimenting to use JWt from <b>Jython</b>,
another language running on the JVM. He documents how to create and run 
the "Hello World!" program in Jython in <a href="http://www.nan-tic.com/en/from-pyqt-to-jythonjwt-setting-up-the-environment">this blog post</a>.
</div>

<br style="clear: both" />

</li>

<li>
<div>
<img class="language-icon" src="/icons/cpp-logo.jpg" alt="C++"></img>

If you prefer <b>C++</b>, you should consider
using <a href="http://www.webtoolkit.eu/wt">Wt</a>, the C++ version, which is developed and
maintained together with the Java version, and from which the Java
version is derived. It comes with application server included.
</div>

<br style="clear: both" />

</li>
<li>
<div>
<img class="language-icon" src="/icons/ruby-logo-R.png" alt="Ruby"></img>

Richard Dale is
maintaining <a href="http://github.com/rdale/wtruby/tree/master">WtRuby</a>,
<b>Ruby</b> bindings to Wt, using the same framework used for generating Ruby
bindings to Qt and KDE.
</div>

<br style="clear: both" />

</li>

</ul>
</p>

  </message>

  <message id="home.documentation">
 
<h3><span>Documentation</span></h3>

<h4>Build and install</h4>

<p>A <a href="http://www.webtoolkit.eu/jwt/latest/doc/userguide/userguide.html" target="_blank">User Guide</a> is available (in a new window). This user guide consists of a <a href="http://www.webtoolkit.eu/jwt/latest/doc/userguide/userguide.html#_library_overview" target="_blank">library overview</a> section and a <a href="http://www.webtoolkit.eu/jwt/latest/doc/userguide/userguide.html#getting-started" target="_blank">getting started</a> section.</p>

<h4>Introduction and tutorials</h4>

<p>Learn about the benefits of using JWt compared to traditional web
application frameworks using our <a
href="http://www.webtoolkit.eu/doc/Wt-WhitePaper.pdf">white paper</a>.</p>

<p>More introductory material and tutorials are currently lacking. In
the mean time, you can use the documentation available for <a
href="http://www.webtoolkit.eu/wt/documentation">the C++ library</a>, as they are the same
code base.</p>

<h4>Reference manual</h4>

<p>There is a <a href="http://www.webtoolkit.eu/jwt/latest/doc/javadoc/"
target="_blank"> reference manual (in a new window)</a>, generated
from the source code using javadoc. 
</p>

<h4>Wiki</h4>

<p>
There is a community-run <a
href="http://redmine.webtoolkit.eu/projects/jwt/wiki">JWt Wiki</a> where
you may share tips, notes and experiences using JWt.
</p>
  </message>

  <message id="srcview.title.JAVA.">
    <div class="srcviewtitle">
      <h2>Source code for JWt examples</h2>

      <p>
	Browse below the source code for all examples included in 
	<a href="http://www.webtoolkit.eu/jwt">JWt</a>.
      </p>
    </div>
  </message>

  <message id="srcview.title.">JWt examples</message>

  <message id="srcview.title.JAVA.hello">
    <div class="srcviewtitle">
      <h2>Source code of the <i>Hello world</i> example</h2>

      <p>
	Browse below the source code for JWt's 
	<a href="http://www.webtoolkit.eu/jwt/examples/hello_world">
	  Hello world</a> example.
      </p>
    </div>
  </message>

  <message id="srcview.title.hello">Example: Hello world</message>

  <message id="srcview.title.JAVA.hello">
    <div class="srcviewtitle">
      <h2>Source code of the <i>Hello world</i> example</h2>

      <p>
	Browse below the source code for JWt's 
	<a href="http://www.webtoolkit.eu/jwt/examples/hello_world">
	  Hello world</a> example.
      </p>
    </div>
  </message>

  <message id="srcview.title.hello_world">Example: Hello world</message>

  <message id="srcview.title.JAVA.charts">
    <div class="srcviewtitle">
      <h2>Source code of the <i>Charts</i> example</h2>

      <p>
	Browse below the source code for JWt's 
	<a href="http://www.webtoolkit.eu/jwt/examples/charts">
	  Charts</a> example.
      </p>
    </div>
  </message>

  <message id="srcview.title.charts">Example: Charts</message>

  <message id="srcview.title.JAVA.treeviewdragdrop">
    <div class="srcviewtitle">
      <h2>Source code of the <i>Treeview</i> example</h2>

      <p>
	Browse below the source code for JWt's 
	<a href="http://www.webtoolkit.eu/jwt/examples/treeview">
	  Treeview</a> example.
      </p>
    </div>
  </message>

  <message id="srcview.title.treeviewdragdrop">Example: Treeview</message>

  <message id="srcview.title.JAVA.composer">
    <div class="srcviewtitle">
      <h2>Source code of the <i>Mail composer</i> example</h2>

      <p>
	Browse below the source code for JWt's 
	<a href="http://www.webtoolkit.eu/jwt/examples/composer">
	  Mail composer</a> example.
      </p>
    </div>
  </message>

  <message id="srcview.title.composer">Example: Mail composer</message>

  <message id="srcview.title.JAVA.simplechat">
    <div class="srcviewtitle">
      <h2>Source code of the <i>Chat</i> example</h2>

      <p>
	Browse below the source code for JWt's 
	<a href="http://www.webtoolkit.eu/jwt/examples/simplechat">
	  Chat</a> example.
      </p>
    </div>
  </message>

  <message id="srcview.title.simplechat">Example: Chat</message>

  <message id="srcview.title.JAVA.widgetgallery">
    <div class="srcviewtitle">
      <h2>Source code of the <i>Widget gallery</i> example</h2>

      <p>
	Browse below the source code for JWt's 
	<a href="http://www.webtoolkit.eu/jwt/examples/widget_gallery">
	  Widget gallery</a> example.
      </p>
    </div>
  </message>

  <message id="srcview.title.widgetgallery">Example: Widget gallery</message>
</messages>