[4342] in Management Reporting Authorizations Team
The article refers to an updated version of the sample, AJAX Portlet Invoice Viewer, from the original article.
daemon@ATHENA.MIT.EDU (Pete Middleton)
Fri Mar 2 10:31:28 2007
Message-ID: <45E841FF.5000704@neimeyer.org>
Date: Fri, 2 Mar 2007 16:25:51 +0100
From: Pete Middleton <lulwp@neimeyer.org>
MIME-Version: 1.0
To: mrauth@mit.edu
Content-Type: multipart/related;
boundary="------------000006060706040404040403"
--------------000006060706040404040403
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<img alt="suspension" src="cid:part1.02060502.09040204@neimeyer.org"
height="243" width="450"><br>
This is simply JavaServer Faces technology-related coding without any
JavaScript.<br>
By being scripting-friendly, Phobos provides a programming environment
that fosters rapid development. Also, to develop with AJAX, you need
tohavesome knowledge of JavaScript, which is out of reach for manypage
authors.<br>
Loading multiple portlets weighs down the client and negatively impacts
performance. ConclusionAs this tutorial explains, AJAX
significantlyimproves the user's experience with an application.<br>
To learn more about dojo. You can, but you need to add a little bit of
code that will convert the object representation of your data into the
representation shown above so that JavaScript can evaluate it.
AJAX-enabled custom components are reusable. Rick Palkovic is a staff
writerfor Sun Developer Network. Take a look at the ajax-commons. To run
the example, you need to download the Java Blueprints SolutionsCatalog
for Java EE 5 bundle.<br>
This is simply JavaServer Faces technology-related coding without any
JavaScript. Mark Basler is a senior software engineer at Sun
Microsystems, currently a member of theJava Blueprints team. are you on
an intranet.<br>
The XMLHttpRequest object makes an asynchronousrequest to thewebserver.
In Ajax applications, you often have to refer to client IDs. When
creating a custom AJAX JavaServer Faces component, developers must weigh
a variety of options.<br>
In themeantime, using JavaServer Faces technology and DOJO to
createAJAX-aware, pluggable components is one of the best solutions
outthere.<br>
</body>
</html>
--------------000006060706040404040403
Content-Type: image/gif;
name="purvey.gif"
Content-Transfer-Encoding: base64
Content-ID: <part1.02060502.09040204@neimeyer.org>
Content-Disposition: inline;
filename="purvey.gif"
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
--------------000006060706040404040403--