<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.8 on Fri, 01 Apr 2005 07:54:25 GMT -->
<rss version="2.0">
	<channel>
		<title>Chris Schalk&apos;s J2EE Weblog</title>
		<link>http://radio.weblogs.com/0130966/</link>
		<description>This Blog Discusses Tips and Tricks for building J2EE Web Applications with Oracle JDeveloper</description>
		<language>en-us</language>
		<copyright>Copyright 2005 Chris Schalk</copyright>
		<lastBuildDate>Fri, 01 Apr 2005 07:54:25 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.0.8</generator>
		<managingEditor>c_schalk@yahoo.com</managingEditor>
		<webMaster>c_schalk@yahoo.com</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>0</hour>
			<hour>1</hour>
			<hour>2</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>6</hour>
			<hour>7</hour>
			<hour>8</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>New Blog Location</title>
			<link>http://radio.weblogs.com/0130966/2005/03/31.html#a39</link>
			<description>&lt;P&gt;News Flash!! News Flash!!&lt;/P&gt;
&lt;P&gt;I&apos;ve decided to switch to a New blogging solution at JRoller.com!&lt;/P&gt;
&lt;P&gt;My new Blog location is:&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.jroller.com/page/cschalk&quot;&gt;&lt;a href=&quot;http://www.jroller.com/page/cschalk&quot;&gt;http://www.jroller.com/page/cschalk&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;-Chris&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0130966/2005/03/31.html#a39</guid>
			<pubDate>Fri, 01 Apr 2005 07:54:25 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=130966&amp;amp;p=39&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0130966%2F2005%2F03%2F31.html%23a39</comments>
			</item>
		<item>
			<link>http://radio.weblogs.com/0130966/2005/03/29.html#a38</link>
			<description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Now that I am back to blogging again, here is a location where you can download my recent presentation from the Sun technology Days in Mexico City:&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.orablogs.com/cschalk/presentations/mexicocity_suntechdays.zip&quot;&gt;&lt;a href=&quot;http://www.orablogs.com/cschalk/presentations/mexicocity_suntechdays.zip&quot;&gt;http://www.orablogs.com/cschalk/presentations/mexicocity_suntechdays.zip&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;-Chris&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0130966/2005/03/29.html#a38</guid>
			<pubDate>Tue, 29 Mar 2005 22:42:56 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=130966&amp;amp;p=38&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0130966%2F2005%2F03%2F29.html%23a38</comments>
			</item>
		<item>
			<link>http://radio.weblogs.com/0130966/2005/03/28.html#a37</link>
			<description>&lt;P&gt;Sorry for the delay in posting.. My license with Radioland got screwed up and it wasn&apos;t allowing me to post..&lt;/P&gt;
&lt;P&gt;If I see this posting, I&apos;ll know that it&apos;s working! :)&lt;/P&gt;
&lt;P&gt;-Chris&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0130966/2005/03/28.html#a37</guid>
			<pubDate>Tue, 29 Mar 2005 01:29:27 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=130966&amp;amp;p=37&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0130966%2F2005%2F03%2F28.html%23a37</comments>
			</item>
		<item>
			<link>http://radio.weblogs.com/0130966/2005/03/05.html#a36</link>
			<description>&lt;P&gt;Back to the Blog... After 2 hard drive crashes and a forced relocation to a new laptop at lightning speed as mandated by our IT dep, &amp;nbsp;I am now back in business.&lt;/P&gt;
&lt;P&gt;First off, I just completed some presentations at Sun technology days in Mexico City. My First presentation was on SOA and Web Services and on the second presentation I co-presented with Peter Zadrozny for his keynote.. Basically I was the &quot;demo guy&quot;. :)&lt;/P&gt;
&lt;P&gt;My first presentation was made to an audience of approx 687 J2EE enthusiasts in Mexico. I introduced the concepts of SOA and quickly jumped into how to work with by building some simple JAX-RPC Web Services using &lt;A href=&quot;http://www.oracle.com/technology/software/products/jdev/index.html&quot;&gt;JDev 10.1.3&lt;/A&gt; and then I brought our &lt;A href=&quot;http://www.oracle.com/technology/products/ias/bpel/index.html&quot;&gt;BPEL designer&lt;/A&gt; up and showed how to choreagraph these Web services into a business process flow. For the final demo I showed our OpenWorld 2004 ACME demo employee provisioning&amp;nbsp; SOA application*. At the end of the demo I showed how to run it which when executed calls your cell phone to tell you that your request is done..Quite cool.. Audience did a collective &quot;Wow!&quot; in spanish.. :)&lt;/P&gt;
&lt;P&gt;For the keynote presentation I did with Peter, he had me speak entirely in Spanish.. which I can speak but it is not my first language. Ended up being a ton of fun.&amp;nbsp; The audience really appreciated the localized SOA and JSF demos..&lt;/P&gt;
&lt;P&gt;I&apos;ll post the presentation links once they are hosted somewhere..&lt;/P&gt;
&lt;P&gt;-Chris&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0130966/2005/03/05.html#a36</guid>
			<pubDate>Sat, 05 Mar 2005 18:20:49 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=130966&amp;amp;p=36&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0130966%2F2005%2F03%2F05.html%23a36</comments>
			</item>
		<item>
			<title>Having Fun with RSS and JDeveloper 10.1.3</title>
			<link>http://radio.weblogs.com/0130966/2005/02/23.html#a35</link>
			<description>&lt;P&gt;If you are reading this Blog, chances are you already have an understanding of what RSS (Really Simple Syndicate) is and that it is basically just an XML format for content on the Web. &lt;/P&gt;
&lt;P&gt;I recently looked into how to work with RSS in Java and JSP and happened to find a nice tutorial by Rodrigo Oliveira at Sun which showed a simple RSS enabled JSP taglib: &lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://java.sun.com/developer/technicalArticles/javaserverpages/rss_utilities/&quot;&gt;&lt;a href=&quot;http://java.sun.com/developer/technicalArticles/javaserverpages/rss_utilities/&quot;&gt;http://java.sun.com/developer/technicalArticles/javaserverpages/rss_utilities/&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In this tutorial is a link where you can download a JSP RSS Utility Tag library:&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://java.sun.com/developer/technicalArticles/javaserverpages/rss_utilities/rss_utils_1.1.zip&quot;&gt;&lt;a href=&quot;http://java.sun.com/developer/technicalArticles/javaserverpages/rss_utilities/rss_utils_1.1.zip&quot;&gt;http://java.sun.com/developer/technicalArticles/javaserverpages/rss_utilities/rss_utils_1.1.zip&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So after downloading unzipping the contents, I decided to play with the JSP taglib in JDeveloper 10.1.3 Preview. &lt;/P&gt;
&lt;P&gt;Here&apos;s what I did...&lt;/P&gt;
&lt;P&gt;After downloading, I first had to add the JSP tag library to JDeveloper. This is easily done by first adding the jar file as a &quot;User java Library&quot; and then adding the TLD as a JSP Tag library. This is an important process to know if you wish to import external JSP tag libraries into JDeveloper. &lt;/P&gt;
&lt;P&gt;To start, open JDeveloper 10.1.3 and click Tools-&amp;gt;Manage Libraries:&lt;/P&gt;
&lt;P&gt;&lt;IMG height=419 alt=&quot;A picture named managelibs.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/managelibs.jpg&quot; width=370 border=0&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI&gt;Next, click on the &quot;User&quot; node on the and click &quot;New&quot;. 
&lt;P&gt;&lt;IMG height=429 alt=&quot;A picture named newlib.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/newlib.jpg&quot; width=600 border=0&gt;&lt;BR&gt;&lt;/P&gt;
&lt;LI&gt;Name the library &lt;a href=&quot;http://blogs.law.harvard.edu/tech/rss&quot;&gt;RSS&lt;/a&gt; and add a Classpath entry which points to the location of&amp;nbsp;your rssutils.jar which you downloaded.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;IMG height=500 alt=&quot;A picture named newlib2.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/newlib2.jpg&quot; width=354 border=0&gt;&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Next you&apos;ll want to click on the &quot;JSP Tag Libraries&quot; tab in the Manage Libraries dialog.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=429 alt=&quot;A picture named newlib4.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/newlib4.jpg&quot; width=600 border=0&gt;&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;In the JSP Tag Libraries panel, click on the &quot;User&quot; node and and click new. This is when you will browse for the location of the RSS taglib&apos;s TLD file:&lt;BR&gt;&lt;BR&gt;&lt;IMG height=450 alt=&quot;A picture named rsstld.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/rsstld.jpg&quot; width=600 border=0&gt;&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Once you&apos;ve defined the location of the TLD, click ok and you&apos;ll see most off the details for the Taglib filled in. You&apos;ll want to change the default prefix to &quot;&lt;NOMARKUP&gt;rss&lt;/NOMARKUP&gt;&quot; just to make it easier to work with later on. The next step is to associate the jar file or RSS library with this TLD. Click on the &quot;Browse&quot; button for the Libraries....&lt;BR&gt;&lt;BR&gt;&lt;IMG height=429 alt=&quot;A picture named taglib2.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/taglib2.jpg&quot; width=600 border=0&gt; &lt;BR&gt;
&lt;LI&gt;And in the next dialog, shuttle over the &lt;a href=&quot;http://blogs.law.harvard.edu/tech/rss&quot;&gt;RSS&lt;/a&gt; library. Then click OK.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=210 alt=&quot;A picture named newlibjar.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/newlibjar.jpg&quot; width=600 border=0&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Before clicking OK on the&amp;nbsp;Manage Libraries&amp;nbsp;dialog, make sure that the checkbox is checked for: &quot;Show Tag Libraries in Palette&quot;. You&apos;ll need these on the palette for when you build an app. Click OK to dismiss the dialog.&amp;nbsp;&lt;BR&gt;
&lt;LI&gt;Now it&apos;s time to build a simple JSP Web application where we can test the tags... To start building a new application, click on File-&amp;gt;New..-&amp;gt;General-&amp;gt;Application.&amp;nbsp; Give it a Name and default package prefix. Also select &quot;No Template&quot; for the application templates.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=434 alt=&quot;A picture named newapp.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/newapp.jpg&quot; width=400 border=0&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Click OK to generate an empty Application Workspace, a create project dialog will then appear automatically. Name the project &quot;web&quot;. (Since it will be a Web project.)&lt;BR&gt;&lt;BR&gt;&lt;IMG height=182 alt=&quot;A picture named webapp.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/webapp.jpg&quot; width=418 border=0&gt; &lt;BR&gt;
&lt;LI&gt;
&lt;P&gt;Next we&apos;ll create a JSP page. File-&amp;gt;New..-&amp;gt;Web-Tier-&amp;gt;JSP-&amp;gt;JSP.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;As the wizard invokes name it whatever you like and&amp;nbsp;specify that you want to use the RSS Tag Library:&lt;BR&gt;&lt;BR&gt;&lt;IMG height=400 alt=&quot;A picture named addtaglib.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/addtaglib.jpg&quot; width=600 border=0&gt;&lt;BR&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Click OK to generate your JSP. &lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;When the JSP appears in the visual editor, add an HTML banner such as &quot;Fun with RSS&quot;. Format it to &lt;STRONG&gt;H2 &lt;/STRONG&gt;using the toolbar. You can also drag and drop a CSS file onto the page to beautify it. To drop a CSS file, select the &quot;CSS&quot; palette page and drop on of the CSS items onto the page. It will then automatically appear with the new look and feel.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=419 alt=&quot;A picture named newpage.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/newpage.jpg&quot; width=600 border=0&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Now we can start working with the tags. Change the Component Palette page to &quot;RSS Tag Library&quot; and drag and drop the &lt;STRONG&gt;Feed&lt;/STRONG&gt; tag onto the page:&lt;BR&gt;&lt;IMG height=266 alt=&quot;A picture named rsstaglib.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/rsstaglib.jpg&quot; width=242 border=0&gt;&lt;BR&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;A dialog will appear showing the required field FeedId. Set it to &quot;otn_news&quot;.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Now click on the Advanced Properties tab in the same dialog. You&apos;ll see Proxy settings and a URL field. This is where you will insert a web address pointing to a RSS page. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; You won&apos;t need to set the proxy in JDeveloper if they&apos;re already set in the JDeveloper &quot;Web Browser and Proxy&quot; setting in the preferences. However if you deploy this to another J2EE server, you&apos;ll either need to run the server with the Proxy Server setting or just user these tag attributes for proxy settings.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;You can find many RSS enabled pages on the Web like CNN, OTN.Oracle.com, TheServerSide.com. Let&apos;s use OTN&apos;s Main News RSS Feed. For this we need the URL: &lt;A href=&quot;http://www.oracle.com/technology/syndication/rss_otn_news.xml&quot;&gt;&lt;a href=&quot;http://www.oracle.com/technology/syndication/rss_otn_news.xml&quot;&gt;http://www.oracle.com/technology/syndication/rss_otn_news.xml&lt;/a&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Here&apos;s where to find the live XML feed from OTN&apos;s home page:&lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/newsfromotn.jpg&quot;&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Assign the OTN RSS News URL to the URL attribute of the Feed tag dialog and click OK. This will insert a feed tag onto your page. &lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Feel free to check out the XML from the live feed. This will help you get a better feel for the data that you&apos;ll later be parsing with JSP tags.&lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/xml.jpg&quot;&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Next we&apos;ll add some code to our JSP to&amp;nbsp;display some data from the live feed.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;In a new paragraph drop&amp;nbsp;drag and drop the&amp;nbsp;tag ChannelTitle tag from the palette. Assign the feedId to &quot;otn_news&quot;. The source of your tag will look like: &amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;rss:channelTitle feedId=&quot;otn_news&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;At this point&amp;nbsp;you could run the page and see the title of OTN&apos;s news appear.. but let&apos;s add more tags to the page to show all the news items.. You can copy and paste the following code:&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;rss:channelTitle feedId=&quot;otn_news&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;rss:channelImage feedId=&quot;otn_news&quot; asLink=&quot;true&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;rss:channelLink feedId=&quot;otn_news&quot; asLink=&quot;true&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;hr/&amp;gt;&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;rss:forEachItem feedId=&quot;otn_news&quot;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;li&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href=&quot;&amp;lt;rss:itemLink feedId=&quot;otn_news&quot;/&amp;gt;&quot; &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:itemTitle feedId=&quot;otn_news&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/a&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br/&amp;gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:itemDescription feedId=&quot;otn_news&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/li&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/rss:forEachItem&amp;gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;When you compare the tags and the live XML feed you&apos;ll understand how the tags pull the data out of the XML feed.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Save and run the page. Your JSP will have OTN&apos;s news items on the page. Cool huh!? &lt;BR&gt;&lt;BR&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/otnfunpage.jpg&quot;&gt;&lt;BR&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;For fun, check out TheServerSide&apos;s RSS News Feed from:&amp;nbsp; &lt;A href=&quot;http://www.theserverside.com/rss/theserverside-rss2.xml&quot;&gt;&lt;a href=&quot;http://www.theserverside.com/rss/theserverside-rss2.xml&quot;&gt;http://www.theserverside.com/rss/theserverside-rss2.xml&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;To embed&amp;nbsp;both OTN and TheServerSide&amp;nbsp;News feeds onto my page..&amp;nbsp;You can create&amp;nbsp;2 JSP Segments&amp;nbsp; using File-&amp;gt;New..-&amp;gt;Web-Tier-&amp;gt;JSP-&amp;gt; JSP Segment, which have just the Feed code needed to see a particular content like:&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;tss.jspf - The ServerSide&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;lt;p&amp;gt;&amp;lt;rss:channelTitle feedId=&quot;tss_news&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:channelImage feedId=&quot;tss_news&quot; asLink=&quot;true&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:channelLink feedId=&quot;tss_news&quot; asLink=&quot;true&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;hr/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ul&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:forEachItem feedId=&quot;tss_news&quot;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;&amp;lt;rss:itemLink feedId=&quot;tss_news&quot;/&amp;gt;&quot;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:itemTitle feedId=&quot;tss_news&quot;/&amp;gt;&amp;lt;/a&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br/&amp;gt;&amp;lt;rss:itemDescription feedId=&quot;tss_news&quot;/&amp;gt;&amp;lt;/li&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/rss:forEachItem&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ul&amp;gt;&lt;BR&gt;&lt;BR&gt;and the&amp;nbsp;JSP segment for OTN:&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;otn.jspf - For OTN&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;rss:channelTitle feedId=&quot;otn_news&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:channelImage feedId=&quot;otn_news&quot; asLink=&quot;true&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:channelLink feedId=&quot;otn_news&quot; asLink=&quot;true&quot;/&amp;gt;&amp;lt;/p&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;hr/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ul&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:forEachItem feedId=&quot;otn_news&quot;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;&amp;lt;rss:itemLink feedId=&quot;otn_news&quot;/&amp;gt;&quot;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:itemTitle feedId=&quot;otn_news&quot;/&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:itemDescription feedId=&quot;otn_news&quot;/&amp;gt;&amp;lt;/li&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/rss:forEachItem&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ul&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;You can then create &amp;nbsp;a master page which has a taglib directive for the RSS taglib as well as 2 feed tags for both OTN and TSS. &lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Next you can create&amp;nbsp;an HTML table and drop 2 JSP Include directives onto the page which point to&amp;nbsp;the different OTN and TSS jspf (segment) files.&lt;BR&gt;&lt;BR&gt;Here is the&amp;nbsp; code of a JSP page which shows both OTN and TheServerSide&apos;s News Feeds:&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;double.jsp&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; &amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&lt;BR&gt;&quot;&lt;A href=&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;&lt;a href=&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;http://www.w3.org/TR/html4/loose.dtd&lt;/a&gt;&lt;/A&gt;&quot;&amp;gt;&lt;BR&gt;&amp;lt;%@ page contentType=&quot;text/html;charset=windows-1252&quot;%&amp;gt;&lt;BR&gt;&amp;lt;%@ taglib uri=&quot;&lt;A href=&quot;http://sun.com/cnpi/rsstag&quot;&gt;&lt;a href=&quot;http://sun.com/cnpi/rsstag&quot;&gt;http://sun.com/cnpi/rsstag&lt;/a&gt;&lt;/A&gt;&quot; prefix=&quot;rss&quot;%&amp;gt;&lt;BR&gt;&amp;lt;html&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;head&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=windows-1252&quot;&amp;gt;&amp;lt;/meta&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hellorss&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/title&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link href=&quot;css/jdeveloper.css&quot; rel=&quot;stylesheet&quot; media=&quot;screen&quot;&amp;gt;&amp;lt;/link&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;body&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h2&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fun With RSS&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/h2&amp;gt;&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:feed feedId=&quot;tss_news&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url=&quot;&lt;A href=&apos;http://127.0.0.1:5335/&amp;amp;apos;http://www.theserverside.com/rss/theserverside-rss2.xml&quot;/&amp;amp;apos;&apos;&gt;&lt;a href=&quot;http://www.theserverside.com/rss/theserverside-rss2.xml&quot;&gt;http://www.theserverside.com/rss/theserverside-rss2.xml&lt;/a&gt;&quot;/&lt;/A&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rss:feed feedId=&quot;otn_news&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url=&quot;&lt;A href=&apos;http://127.0.0.1:5335/&amp;amp;apos;http://www.oracle.com/technology/syndication/rss_otn_news.xml&quot;/&amp;amp;apos;&apos;&gt;&lt;a href=&quot;http://www.oracle.com/technology/syndication/rss_otn_news.xml&quot;&gt;http://www.oracle.com/technology/syndication/rss_otn_news.xml&lt;/a&gt;&quot;/&lt;/A&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table cellspacing=&quot;2&quot; cellpadding=&quot;3&quot; border=&quot;1&quot; width=&quot;100%&quot;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;th&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTN&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/th&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;th&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TheServerSide&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/th&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;%@ include file=&quot;/otn.jspf&quot;%&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;%@ include file=&quot;/tss.jspf&quot;%&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tbody&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;BR&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Neat huh?&lt;BR&gt;&lt;BR&gt;&lt;IMG height=399 alt=&quot;A picture named double.jpg&quot; src=&quot;http://radio.weblogs.com/0130966/images/2005/02/11/double.jpg&quot; width=600 border=0&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;A final note, everything shown here is with RSS version 2.0. The taglib can also work with older version of RSS, but the examples I&apos;ve shown here are all 2.0.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Okay one more thing!! For your homework assignment: Create a news feed page for my Blog&apos;s RSS Feed!: &lt;A href=&quot;http://radio.weblogs.com/0130966/rss.xml&quot;&gt;&lt;a href=&quot;http://radio.weblogs.com/0130966/rss.xml&quot;&gt;http://radio.weblogs.com/0130966/rss.xml&lt;/a&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;OL&gt;&lt;/OL&gt;&lt;/LI&gt;</description>
			<guid>http://radio.weblogs.com/0130966/2005/02/23.html#a35</guid>
			<pubDate>Wed, 23 Feb 2005 21:50:13 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=130966&amp;amp;p=35&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0130966%2F2005%2F02%2F23.html%23a35</comments>
			</item>
		<item>
			<title>A Simple JSF and Web Service Example</title>
			<link>http://radio.weblogs.com/0130966/2005/02/01.html#a33</link>
			<description>&lt;P&gt;&lt;STRONG&gt;Integrating Web Services in your JSF Applications&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Hello again,&lt;/P&gt;
&lt;P&gt;I just posted an HowTo article on Oracle Technology Network site which shows how to use Web Services in your JSF application. I show a very simple example of a Stock Quote JSF application which queries a live Web Service to get the current price of the symbol submitted in a form. Building this in JDeveloper 10.1.3 was quite a simple process&amp;nbsp;actually..&lt;/P&gt;
&lt;P&gt;&lt;IMG height=356 alt=&quot;A picture named commandbutton.jpg&quot; hspace=15 src=&quot;http://radio.weblogs.com/0130966/images/2005/02/01/commandbutton.jpg&quot; width=580 border=0&gt;&lt;/P&gt;
&lt;P&gt;Check it out at:&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.oracle.com/technology/products/jdev/101/howtos/jsfws/index.html&quot;&gt;&lt;a href=&quot;http://www.oracle.com/technology/products/jdev/101/howtos/jsfws/index.html&quot;&gt;http://www.oracle.com/technology/products/jdev/101/howtos/jsfws/index.html&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Also,&lt;/P&gt;
&lt;P&gt;Kudos to Kito and JSFCentral.com for publishing these simple JSF HowTos! JSFCentral even beat my blog in mentioning this latest article! (Ahh the wonders of RSS...)&lt;BR&gt;:)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0130966/2005/02/01.html#a33</guid>
			<pubDate>Wed, 02 Feb 2005 02:40:19 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=130966&amp;amp;p=33&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0130966%2F2005%2F02%2F01.html%23a33</comments>
			</item>
		<item>
			<title>Easy Web Templates with JDeveloper 10g</title>
			<link>http://radio.weblogs.com/0130966/2005/01/27.html#a32</link>
			<description>&lt;P&gt;A (Blog only) &quot;Exclusive&quot; How To document on working with Web templates in JDeveloper 10g. &lt;BR&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;#intro&quot;&gt;Introduction&lt;/A&gt; 
&lt;LI&gt;&lt;A href=&quot;#start&quot;&gt;Getting Started - Building a Web Template&lt;/A&gt; 
&lt;LI&gt;&lt;A href=&quot;#wardeploy&quot;&gt;Archiving Web Templates as J2EE War Files&lt;/A&gt; 
&lt;LI&gt;&lt;A href=&quot;#summary&quot;&gt;Summary&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;&lt;A name=intro&gt;&lt;/A&gt;Introduction&lt;/H3&gt;
&lt;P&gt;Although JDeveloper 10g Production (10.1.2) and 10.1.3 preview have yet to offer official Web application templating support out of the box, Web developers needn&apos;t wait for JDev&apos;s final template support in order to be productive with certain basic &quot;templating&quot; capabilities already included in both JDeveloper 10g Production and 10.1.3 Preview. &lt;/P&gt;
&lt;P&gt;This How To document shows how to build Web templates in JDeveloper 10g consisting of HTML content, images, as well as Cascading StyleSheets (CSS). This document also shows how to create J2EE Web application templates as WAR files for later use in JDeveloper or other Tools and Application Servers.&lt;/P&gt;
&lt;H3&gt;&lt;A name=start&gt;&lt;/A&gt;Getting Started - Building a Web Template&lt;/H3&gt;
&lt;P&gt;In a simple manner, Web templates can be defined as:: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Web page content - This is HTML or JSP content which could become complete Web pages or just portions of Web pages which contain often repeated Web content such as an HTML table containing an overall page layout, or portions of content such as menu bars, tab bars etc. 
&lt;LI&gt;Custom images - These are the images which are presented in the Web page content. Examples include banner images, menu button images, etc. 
&lt;LI&gt;Cascading StylesSheets - These provide an overall look and feel to your Web application by associating a specific visual appearance to global tags such as &amp;lt;H2&amp;gt; or to individual tags via a class attribute. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So creating a re-usable set of templates is simply a matter of saving these types of content into a reusable form and making them available for use again in JDeveloper multiple times. This can be accomplished using several existing features in both JDeveloper 10g Production (10.1.2) as well as JDeveloper 10.1.3 Preview.&lt;/P&gt;
&lt;P&gt;The first step to building your Web template(s) is to start with a basic design. Create a new empty project in any Workspace and begin designing your Web content such as a page or collection of pages so it can be used later as a template(s).&lt;/P&gt;
&lt;P&gt;For this How To, let&apos;s build a basic Web page template which will serve as the base page for a fictitious corporate Web application: The ACME Corporation.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;In JDeveloper, create a new empty project: AcmeWebApp.&lt;BR&gt;&lt;IMG height=182 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newtempproj.jpg&quot; width=421&gt; &lt;BR&gt;
&lt;LI&gt;Then create a new JSP or HTML page. You can name it anything: &quot;ACMEPage_temp&quot;. (File-&amp;gt;New..-&amp;gt;Web-Tier-&amp;gt;HTML-&amp;gt;HTML Page). &lt;BR&gt;In step 2 of 2 (HTML Options) you can further specify the visual attributes of the page, but for this example we will leave it as is and click Finish.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;As the new page opens in the visual designer, you can then create your overall design of the page template. For this example we&apos;ll create an HTML table which will consist of 4 main table cells: 
&lt;UL&gt;
&lt;LI&gt;A top cell for a banner image 
&lt;LI&gt;A left navigation cell for future navigation content 
&lt;LI&gt;A footer cell for our future footer content 
&lt;LI&gt;A main cell for the body of the actual page content. &lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;&lt;IMG height=372 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newpage-structure.jpg&quot; width=600&gt; &lt;BR&gt;
&lt;LI&gt;Assuming you now have images (or other HTML content) for the top, left and bottom cells, you can drag and drop them from either your desktop or Windows explorer into their respective cells.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=470 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/dragimage.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;For this example we&apos;ll drag a banner, leftnav and footer image on the template.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;As you drag the image, JDeveloper will prompt you asking you to copy the image under your document root. Click &quot;Yes&quot;.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=148 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/image-save-location.jpg&quot; width=408&gt;&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Before saving the image, we&apos;ll create an &quot;images&quot; subdirectory and save it there.&lt;BR&gt;&lt;IMG height=450 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/image-save-location2.jpg&quot; width=600&gt;&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Name the directory &quot;images&quot; and click OK. &lt;BR&gt;&lt;IMG height=145 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newimages-dir.jpg&quot; width=295&gt;&lt;BR&gt;From now on we&apos;ll save all of our images to this directory.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;After dragging and dropping all of the images needed for this template we are almost done with our basic ACME page template.&lt;BR&gt;&lt;IMG height=424 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newpage-wimages.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;We now have a Web page design associated with some images, but now we also want to associate a CSS look and feel for this template. We could use one of JDeveloper&apos;s provided CSS stylesheets which are already accessible on the Component Palette, but instead let&apos;s review how to integrate an external CSS file onto JDeveloper&apos;s Component Palette.&lt;BR&gt;&lt;BR&gt;To start with, let&apos;s open up a windows explorer to the filesystem location of our new Web template. You&apos;ll notice that I can invoke the Windows Explorer directly from the JDeveloper Navigator. &lt;BR&gt;&lt;BR&gt;&lt;B&gt;Note&lt;/B&gt;: JDeveloper 10.1.3 comes with a nifty feature which can quickly auto-configure commonly used external tools for use in JDeveloper. (Tools-&amp;gt;External Tools...)&lt;BR&gt;&lt;BR&gt;&lt;IMG height=229 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/explore.jpg&quot; width=383&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;In Windows explorer we can create a &quot;css&quot; subdirectory as a peer to the &quot;images&quot; directory. In the new css directory will drop in a new, custom CSS stylesheet, &quot;acme.css&quot;.&lt;BR&gt;&lt;IMG height=271 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newcss.jpg&quot; width=563&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Now all we have to do is add this new ACME stylesheet to JDeveloper&apos;s Component Palette so we can use it later on. On the &quot;CSS&quot; Component Palette page, right-click and select &quot;Palette Properties&quot;.&lt;BR&gt;&lt;IMG height=272 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newpaletteprops.jpg&quot; width=260&gt; &lt;BR&gt;&lt;B&gt;Note:&lt;/B&gt; In JDeveloper 10g production (10.1.2) we can &quot;Add (a) Component&quot; directly to the page, but in the 10.1.3 Preview, we can only add the new CSS entry by using the Palette Properties dialog. &lt;BR&gt;(This is a known issue and is logged as bug: 4000422 )&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;In the Palette Properties dialog, change the &quot;Page Type:&quot; to &quot;CSS&quot;. You will then see all of the Components currently on the CSS palette page. 
&lt;LI&gt;Click on the &quot;Add&quot; button and enter the following: 
&lt;UL&gt;
&lt;LI&gt;Location: (Browse to your location of your custom CSS. This should be in your new /css sub-directory. 
&lt;LI&gt;Name: ACME (Or whatever you want to call it.)&lt;BR&gt;&lt;IMG height=434 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newacmecsspalette.jpg&quot; width=600&gt; &lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Click &quot;OK&quot; twice and your new ACME CSS will be on the Palette page. &lt;BR&gt;&lt;IMG height=217 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newacmecsspalette2.jpg&quot; width=166&gt; 
&lt;LI&gt;Now you can drag and drop this onto your pages and it will update the HTML header with the new CSS link. The visual designer will also display the new look and feel.&lt;BR&gt;&lt;IMG height=424 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/useacmecss.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Now that we&apos;ve associated a CSS based look and feel for this template, we&apos;ll now save this specific HTML design into a JDeveloper Code Snippet on the Component Palette, so we can easily generate new pages with this same design in the future.&lt;BR&gt;&lt;BR&gt;In the AMCEPage_temp.html page, copy the HTML &lt;B&gt;table&lt;/B&gt; contents to the clipboard: (Ctrl-C). &lt;BR&gt;&lt;B&gt;Note:&lt;/B&gt; Don&apos;t copy the &amp;lt;body&amp;gt; or &amp;lt;head&amp;gt; content, just the HTML &lt;B&gt;table&lt;/B&gt;.&lt;BR&gt;&lt;IMG height=414 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/copytable.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;On the Component Palette, select the &quot;Code Snippets&quot; page and right-click &quot;Add Component...&quot;.&lt;BR&gt;&lt;IMG height=227 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/new-snippet-component.jpg&quot; width=228&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;In the new Snippet dialog, add the Name: &quot;ACME Page&quot; and paste (Ctrl-V) the HTML table design into the Code Snippet: text field.&lt;BR&gt;&lt;IMG height=300 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/codesnippet.jpg&quot; width=500&gt; &lt;BR&gt;Click &quot;OK&quot; to add the snippet to the Component Palette.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=175 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/new-snippet-component-palette.jpg&quot; width=174&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;At this point can now create multiple new JSP or HTML pages based on this ACME page look and feel. To see how, create a new JSP page. (File-&amp;gt;New...-&amp;gt;Web-Tier-&amp;gt;JSP-&amp;gt;JSP) and name it &quot;newacme.jsp&quot;.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=400 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newacme.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Click &quot;Finish&quot; to immediately generate a blank page. 
&lt;LI&gt;Insert the &quot;ACME Page&quot; code snippet into the page by dragging and dropping the snippet onto the blank page from the &quot;Code Snippets&quot; palette page.&lt;BR&gt;&lt;BR&gt;Before pasting the snippet into the page, a confirmation dialog will appear. Click &quot;Yes&quot; to proceed. This will allow you to insert the HTML markup in it&apos;s non-escaped format.&lt;BR&gt;&lt;IMG height=148 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/markup_paste.jpg&quot; width=408&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;As the new table is inserted into the page, the images will also appear since they reside in the local /images subdirectory.&lt;BR&gt;&lt;IMG height=414 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newacmejsp.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Since the snippet only contained the table content, and not the head, we have to apply the &quot;ACME&quot; look defined in the ACME css file. Select the &quot;CSS&quot; Component Palette page and drag and drop the ACME CSS onto the page. You&apos;ll notice the new look and feel in the &quot;Main Content..&quot; cell. You can also see the new CSS link in the Structure Pane.&lt;BR&gt;&lt;IMG height=414 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/acme_jsp_css.jpg&quot; width=600&gt; 
&lt;LI&gt;At this point you can continue building more ACME pages with a consistent look and feel. However to re-use this content in a &lt;B&gt;different&lt;/B&gt; Web application, follow the instructions below.&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;H3&gt;&lt;A name=wardeploy&gt;&lt;/A&gt;Archiving Web Templates as J2EE War Files&lt;/H3&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;In the previous steps, we have configured both JDeveloper and a single project to have a specific look and feel, however in the future we will want to create new Web applications which also have this look and feel. Instead of manually creating subdirectories CSS and images content for each new Web application, we can use JDeveloper&apos;s J2EE Web Archive (WAR) deployment feature to save an entire Web application as a template which we can then derive new projects from in the future.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;OL&gt;
&lt;LI&gt;To archive this ACME Web application, locate the /WEB-INF/web.xml file, right-click and select &quot;Create WAR Deployment Profile...&quot;. &lt;BR&gt;&lt;B&gt;Note:&lt;/B&gt; This web.xml file exists because we created a JSP. In general, a web.xml will be generated whenever a J2EE Web-tier component such as a Servlet or JSP is created.&lt;BR&gt;&lt;IMG height=260 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newdep_profile.jpg&quot; width=434&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Accept the default options for the WAR deployment profile and click &quot;OK&quot;.&lt;BR&gt;&lt;IMG height=429 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/deployment-options.jpg&quot; width=600&gt;&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Now deploy the application as WAR file to the local filesystem.&lt;BR&gt;&lt;IMG height=340 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/depwar.jpg&quot; width=394&gt; &lt;BR&gt;This will place an archived version of the Web application in a WAR file in the local file system. You&apos;ll see where it has been deployed to in the Console: &lt;BR&gt;
&lt;UL&gt;
&lt;LI&gt;&quot;Wrote WAR file to ....TemplateFunACMEWebAppdeployacmewebapp.war &lt;BR&gt;Elapsed time for deployment: 5 seconds&lt;BR&gt;---- Deployment finished. ---- Jan 18, 2005 6:32:28 PM&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;To use our new &lt;I&gt;Acme Application Template&lt;/I&gt;,&lt;I&gt; &lt;/I&gt;we&apos;ll create a new project from the deployed WAR file. &lt;BR&gt;(File-&amp;gt;New...-&amp;gt;General-&amp;gt;Projects-&amp;gt;Project from WAR File).&lt;BR&gt;&lt;IMG height=429 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newproj_from_war.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;We&apos;ll name the new app &quot;NewAcmeApp&quot;.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=400 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newacmeapp.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;On step 2, we specify the location of the recently deployed WAR file, but keep the default location for the &quot;Root Directory for Web Module:&quot;.&lt;BR&gt;When finished, the wizard will unarchive and copy the contents of the WAR file into the new project&apos;s location.&lt;BR&gt;&lt;BR&gt;&lt;IMG height=400 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/new_appfrom_war.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;When the wizard completes, we&apos;ll have a new J2EE Web application based on the ACME Web application &quot;template&quot; that we created earlier. We&apos;ll also be able to create new &quot;ACME Pages&quot; with the same look and feel using the CSS and images that were archived into the template application!&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Important Note:&lt;/B&gt; If we were to move this WAR file to another JDeveloper instance, we would have to re-create the Component Palette customizations for the CSS entry and the ACME page snippet, but this easily done since the custom CSS and ACME page snippet content is now archived within the WAR file.&lt;BR&gt;&lt;IMG height=414 src=&quot;http://radio.weblogs.com/0130966/images/2005/01/27/newacmeapp_done.jpg&quot; width=600&gt; &lt;BR&gt;&lt;BR&gt;Also, since the ACME Web application template is archived in a standard J2EE WAR file, it can also be migrated to any other J2EE compliant Application Server or Tool for further use.&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;H3&gt;&lt;A name=summary&gt;&lt;/A&gt;Summary &lt;/H3&gt;
&lt;P&gt;This How To has hopefully provided useful tips on how to build and work with J2EE Web application design templates even before the full Templating support is available in the next JDeveloper revision. If you feel Web application Templating is a &quot;must have&quot; in the near future, and have specific requirements for its usage, feel free to offer your feedback here my Blog or in the JDeveloper OTN Forums. &amp;nbsp;Let us know your thoughts on how we can deliver a truly superior Templating experience in our next version of JDeveloper!&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0130966/2005/01/27.html#a32</guid>
			<pubDate>Thu, 27 Jan 2005 18:05:25 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=130966&amp;amp;p=32&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0130966%2F2005%2F01%2F27.html%23a32</comments>
			</item>
		</channel>
	</rss>
