-
1. Re: Partial page rendering
shane.bryzak Aug 30, 2006 7:45 PM (in response to shasho)It is possible with remoting, but you need to realise that once you start down that path its hard to turn back. I've successfully implemented a fully remoting-based application for my company and I must say that more than anything it reminds me of the way you used to write client-server apps.
All the code is loaded "up front" and the client is pretty much self-contained, only retrieving the data it needs from the server and rendering the interface itself. It's not difficult to abstract out the interface generation and there's plenty of Javascript libraries (dojo, etc) that might help out in this area.
What you miss out on with this architecture is the JSF component model, which means you can't use all those nice JSF components. And you also need to have reasonable Javascript skills. What you end up with though is a very responsive application, and with the minimal client-server communication it's great for reducing load on the server. -
2. Re: Partial page rendering
raja05 Aug 31, 2006 12:30 AM (in response to shasho)Facelets are a good approach of doing these sorts of things, but all the fragments will be redrawn for every screen. Its worked well for some simple things I have tried, if you indicate your problems here or in facelets mailing list, someone might be able to help.
-
3. Re: Partial page rendering
mrohad Aug 31, 2006 2:16 AM (in response to shasho)try to use ajax4jsf , you can rerender regions in your page.
-
4. Re: Partial page rendering
shasho Aug 31, 2006 2:57 AM (in response to shasho)I really don?t have a specific technical question but rather looking for the ?right? approach. My requirement is to build a screen composed of several different parts and be able to update each screen part separately ..For example, a screen composed of an upper banner and a login box. When the user login into the system and the request is validated in the server I don?t want the upper banner to be updated from the server as well. Obviously, I want this functionality to work under Seam+Facelete+JSF!
I understand that Seam doesn?t have a built in solution for this requirement? Does anyone have an experience with other tools that seems to solve the problem such as Ajax4jsf? -
5. Re: Partial page rendering
mrohad Aug 31, 2006 3:29 AM (in response to shasho)what problems did you encounter while using frames?
-
6. Re: Partial page rendering
shasho Aug 31, 2006 3:58 AM (in response to shasho)I am using Facelete thus the template with frames need to look something like that (file name templateTest.xhtml)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html> <head> <link rel="stylesheet" type="text/css" href="css/main.css" media="screen" /> <link rel="stylesheet" type="text/css" href="css/print.css" media="print" /> <script type="text/javascript" src="js/common.js"></script> </head> <frameset rows="235px,*" border="0" frameborder="0" framespacing="0"> <frame frameborder="0" scrolling="no" noresize="-1" src="frameUp.seam"/> <frame frameborder="0" scrolling="no" noresize="-1" src="frameDown.seam"/> </frameset> </html>
In the non frame version I had in the template<ui:insert name="MainContent"/>
tags. Becouse of the above structure I need to move it to frameDown.seam file. Now my MainPage.xhtml looks like this<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:s="http://jboss.com/products/seam/taglib" template="templateTest.xhtml"> <ui:define name="MainContent"> Some Text.... </ui:define> </ui:composition>
The ui:define doesn't insert the "Some Text...." probably because MainContent is defined in frameDown.seam instead in templateTest.xhtml