Jump to content
Wikipedia The Free Encyclopedia

JWt (Java web toolkit)

From Wikipedia, the free encyclopedia
JWt
Original author(s) Emweb
Initial release1.0.0 / December 2005; 19 years ago (2005-12)
Stable release
4.11.2[1]  Edit this on Wikidata / 2025年01月20日; 12 days ago
Repository github.com/emweb/jwt
Written inJava
Operating system Cross-platform
Type Web framework
License Dual License: GNU General Public License or Commercial License
Websitewww.webtoolkit.eu/jwt

JWt (pronounced "jay-witty") is an open-source widget-centric web application framework for the Java programming language developed by Emweb. It has an API that uses established GUI application development patterns. The programming model is component-based and event-driven, similar to Swing.

The goal of the library is to benefit from the stateful component model used in desktop applications APIs, applied to web development, instead of the traditional model–view–controller (MVC) model. Rather than using MVC at the level of a page, MVC is pushed to the level of individual components.

While the library uses a desktop application development model, it does support web-specific features including semantic URLs, browser history navigation support, internationalization, themes, and styling.

A unique feature of the library is its abstraction layer of the browser rendering model. The library uses Ajax for communicating with Ajax-capable browsers, while using plain HTML form post-backs for other user agents (for accessibility and search engines). Using a progressive bootstrap method, the user interface is initially rendered as plain HTML, and for Ajax-capable browsers, it is automatically upgraded to use Ajax for increased interactivity.

JWt is distributed as a jar file. A JWt application is a war file that is deployed in a standards-compliant servlet container.

Major features

[edit ]

See the feature list on the project homepage for a more detailed overview.[2]

  • Automatic graceful degradation and progressive enhancement
  • On all modern browsers, a JWt application is a single-page application, with full support for forward/back and bookmark navigation, but still fully SEO.
  • Supports server-initiated events (Comet), and uses asynchronous I/O when deployed within a Servlet 3.0 container.
  • A unified 2D rendering API (SVG/HTML5 canvas/VML/PDF) with java.awt.Graphics2D compatibility
  • Integrated PDF rendering for Widgets, Graphics (Charts) and HTML/CSS, to generate reports
  • Both client-side and server-side validation
  • Various automatic built-in security features to avoid cross-site scripting and CSRF vulnerabilities.
  • Theme support through CSS or Bootstrap
  • Available widgets are demonstrated in the widget gallery
  • A 3D painting API for WebGL rendering, with fallback to server-side GPU accelerated rendering
  • A 3D chart API (surfaces, points, bar charts, ...) supporting selection, intersection highlighting, height maps, isolines, ...

Code example

[edit ]

The Hello World![3] example full source code[4]

/*
 * A simple hello world application class which demonstrates how to react
 * to events, read input, and give feed-back.
 */
publicclass HelloApplicationextendsWApplication{
publicHelloApplication(WEnvironmentenv){
super(env);

setTitle("Hello world");
getRoot().addWidget(newWText("Your name, please ? "));
finalWLineEditnameEdit=newWLineEdit(getRoot());
nameEdit.setFocus();
WPushButtonbutton=newWPushButton("Greet me.",getRoot());
button.setMargin(5,Side.Left);
getRoot().addWidget(newWBreak());
finalWTextgreeting=newWText(getRoot());
button.clicked().addListener(this,newSignal.Listener(){
publicvoidtrigger(){
greeting.setText("Hello there, "+nameEdit.getText());
}
});
}
}

See also

[edit ]

References

[edit ]
  1. ^ "Release 4.11.2". 20 January 2025. Retrieved 24 January 2025.
  2. ^ "JWt, Java Web Toolkit — Emweb". www.webtoolkit.eu. Retrieved 27 October 2019.
  3. ^ "JWt, Java Web Toolkit — Emweb". www.webtoolkit.eu. Retrieved 27 October 2019.
  4. ^ "SOURCE CODE OF THE HELLO WORLD EXAMPLE". www.webtoolkit.eu.
[edit ]


.NET
C++
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Perl
PHP
Python
Ruby
Rust
Scala
Smalltalk
Other languages

AltStyle によって変換されたページ (->オリジナル) /