Skip to main content

A theme show: JSPs

Posted by daniel on November 14, 2003 at 5:06 AM PST

We have a few articles coming up in the next few weeks on JSPs. It's a bit of a theme. JSPs are not the only topic of articles we will be publishing but they are a mini-feature. If you have ideas for future feature topics, drop us a line.

Today's addition to the list is at the top of the Featured Articles section. Part one of Budi Kurniawan's Easy Custom Tags with Tag Files look at the new features in JSP 2.0 that change the way you work with custom tag libraries. One of the features centers around the life-cycle of a tag handler and the other removes the need for a tag library descriptor for custom tags.

Tag files simplify the writing of a custom tag for non-Java programmers because tag files do not need to be compiled and extensions can be written using only JSP syntax. In fact, a tag file looks like a JSP page. For example, Kurniawan's first example is firstTag.tag:

<%@ tag import="java.util.Date" 
  import="java.text.DateFormat"%>
<%
  DateFormat dateFormat =
    DateFormat.getDateInstance(DateFormat.LONG);
  Date now = new Date(System.currentTimeMillis());
  out.println(dateFormat.format(now));
%>

This still feels like embedded Java code in a JSP to me. It may be that I don't understand, but I thought tags were supposed to keep us from mixing these two worlds together. You do not want a JSP page with little islands of Java code embedded. Perhaps the key is that a tag file is not meant to be written by a page designer and the page designer will use the custom tags and not see this mix. It does, however, feel as if we have just moved the problem somewhere else and the fact that we are now saying "non-Java programmers can write tag files" opens the same can of worms all over again.

Maybe i will understand better as our JSP theme continues.

Chris Adamson takes the thick client vs. browser discussion in a Java direction in today's Weblogs . In Thick As A Brick , Chris takes a closer look at Apple's iTunes application in the context of all of the advantage we get from building a rich desktop-like client for a net application in Java. He notes the benefits of the language, the library, and the available talent pool and then points out that an often over looked benefit is that "Deployment via Java Web Start prevents us from having to hand out an installer, yet it practically becomes an application after repeated use."

He concludes with a look at Longhorn's plans to encourage developers to move away from the browser and write thick clients that only work on windows. He asks

if writing thick web clients is such a good idea, why don't we do it today, in Java?

Longhorn's not coming out for two years. Java works today. Java Web Start works today. Swing works today [...]. Sockets, RMI, JDBC, XML parsing, even auto-discovery with Jini are all available, for free, today. Simple HTML support is in Java today (maybe not enough to write a good browser with, but enough to do something like the music store).


In Also in Java Today , you can take a look at the newsforce APIs and examples of how to use them with additions that, according to the Infoworld article, include " "Significant changes to the service include real-time alerts, dashboards, workflow automation, contract management, and on-the-fly data translation in 11 languages."

If you want to understand what is new in JXTA 2, read Sing Li's developerWorks article JXTA 2: A high-performance, massively scalable P2P network. Li reports that the JXTA architects listened to current JXTA developers and incorporated many of the requested changes into the new release. He writes, "By pragmatically segregating the overlay network into an edge-peers population interconnected through a core rendezvous-peers population, JXTA 2 is significantly more deployable over today's common network topology. Problems with message broadcast storms and flooding, common in a "flat" architecture, are also alleviated."


In Projects and Communities our project spotlight this week has come from the JavaDesktop community. The DB2JavaObj is aiming to eliminate most of the routine tasks involved in providing an interface to a database. The code generator should ""when pointed to a database, be able to produce the tedious boiler plate code that almost any project requires- object properties, setters and getters, the SQL statements for basic CRUD." Also today we feature a product from the Java Jar. The Calyente project is a web browser written entirely in Java. It is available as a double-clickable jar file.


In today's java.net News Headlines :

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using our
news submission form.
All submissions go through an editorial review by news director Steve
Mallet before being posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
feed.


Current and upcoming Java Events:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission form.
All submissions go through an editorial review before being posted to the
site.


This blog is delivered weekdays as the href="http://today.java.net/pub/q/java_today_rss?x-ver=1.0">Java Today RSS
feed. Once this page is no longer featured as the front page of href="http://today.java.net"> Java Today it will be archived at href="http://today.java.net/today/archive/index_11142003.html">
http://today.java.net/today/archive/index_11142003.html. You can
access other past issues in the href="http://today.java.net/today/archive/">java.net Archive.