Chan, Jim wrote the following on 1/10/2006 5:35 PM:
I am refactoring my company's JSP website because the code uses only JSP to
control navigation. You can imagine its pretty ugly. Anyway, I decided to
use JSF and possibly move to Shale once I've gained a handle on the
framework. I successfully deployed some of the pages using MyFaces because
it has a simple integration with Tiles.
Anyone who tried to refactor JSP to JSF will know that it takes some work to
adapt the existing html/JSP code to utilize the JSF tags. Because I'm under
time constraints, I've really only used JSF tags for controls that need to
be bound the backing beans. All other html/JSP code was wrapped with
everybody's favorite tag - <f:verbatim>. There are verbatim tags everywhere
- yikes. I am hoping I can refactor them out at some later time, but my
biggest dream is to have the JSF specification at the container level so
non-JSF text do not have to be buffered at all.
Anyway, I wanted to know if:
- I am taking a good approach to refactoring the existing webapp?
- Will JSF evolve to a point where <f:verbatim> tag is not needed?
Actually you bring up one of the reasons I'm not in love JSF at the
moment. I know most people like the idea of using pre-built or custom
renderers and get all googly eyed over the nice things you can get
out-of-the-box from MyFaces or Oracle ADF, but I guess I'm still
old-school and like the control of building the front end how I want
with simple JSTL and html. From my brief time with JSF I felt sort of
constrained having to use the DataTable (I think that's what it was
called:) to iterate over stuff for display purposes etc. Not saying the
concept of renderers is bad at all and I guess a set of common controls
is pretty cool. I just know from experience that pre-built stuff always
ends up having to be tweaked to meet some crazy business requirement I
end up having to deal with. At least when I'm working with straight html
(and the annoying dhtml stuff) I can create everything how I want.
By the way, when you say the site 'only uses JSP' do you mean no Struts
or other framework is involved? In other words just JSP submitting to a
servlet and then redirecting/forwarding to another JSP?
I'm more comfortable with Struts so of course I'd feel better taking
that approach. You could even clean up all your navigation issues using
Struts and reuse a lot of your old code - including the front end stuff.
This way you can start small and then implement more and more struts
pieces as you see fit. For example I'm assuming you are just doing
typical request.getParameter stuff in your Servlets. Well you could
still use Struts to go to an Action(a Servlet) and basically put your
same exact old Servlet code in there. You could in theory clean up all
your navigation woes without having to change that much of your existing
code. This actually goes again to something that I do like about Struts
- it is not too far removed from the ServletAPI. You can still mess
around with typical Request and Session stuff in your Action classes
just like you could in any other Servlet (others of course would see
this as a weakness - ie difficult to unit test Actions etc and they have
valid points there). JSF, at least from what I've seen, is much further
removed from the basic ServletAPI so in your case under time constraints
I'm thinking you'd have more work to do migrating it to JSF. I guess a
lot also depends on how much existing code you want to reuse and your
existing architecture. If you plan to rewrite a lot of stuff anyway, and
you are comfortable with JSF, then go for it.
If you do go the JSF route, I'd appreciate knowing how your experience
migrating the app went.
--
Rick
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]