I'm not expert in jsp or struts or JSF for that matter, but a new web project I'm working on needs to be migrated, upgraded, enhances and so on...
Most of the users have java runtime 1.4 and who knows when they'll upgrade to java5. That is not in my control. The backend db is on a unix mainframe and the app server is websphere.
I've been researching different processes and frameworks and have come up with a simple prototype to get data from the db and display it.. But it's more or less just simple jsp, beans and servlets right now.
Before I move forward, I just wanted to know if i should stick with Struts MVC framework or go all out into JSF and so ON?
My biggest concern is in the fact that some of the JSF and newer technologies wouldn't work on the users systems... And then the system would be utterly useless.
I've browses many forums on many topics, including ruby. It seems to me that many forum posters on various sites aren't exactly building or developing systems for real world clients. And if they are, I feel sorry for their clients.
It's great learning new things, but i've been around long enough in IT to know that the most important aspect in building or enhancing a system is in the fact that your users can actually use what you build and develop.
So is JSF that compatible with Java 1.4 or is it built more for Java 5.
There are a lot of factors in deciding which framework to use. There are a lot of good arguments for JSF, and some against. I won't get into them all here. You can search the forum and find many threads debating this issue.
I will say, though, that the fact that you're using Java 1.4 should not be a reason for not using JSF. JSF works just fine under Java 1.4. Depending on which version of WebSphere you're using, the WebSphere support for it is may be a little spotty, but overall it will work on WebSphere. You may not be able to use the latest version of JSF, though.
Struts, for all its faults, is a very solid, is supported by a lot of tools, and has absolutely no issues with running on any version of any app server.
Maybe he meant that the server uses java 1.4 and not 1.5.
Who knows. Learn the new things, implement them if you have the time to learn JSF and so on well. If you don't have the time, learn the new things, but implement what you know well.
While new technologies are great, if you are on deadline, it's not worth creating an applicatin, system, website or whatever where it looks cool but it's not coded well or written well and it becomes a maintenance nightmare for you or anybody else involved in the future.