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.
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.
try to use ajax4jsf , you can rerender regions in your page.
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?
what problems did you encounter while using frames?
I am using Facelete thus the template with frames need to look something like that (file name templateTest.xhtml)
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