With all due respect, you question, at least what I think you think you are asking based on the information you included, is misguided.
Careers are not based around technology. Well, they can be, just ask a COBOL developer. :-p Seriously, a career is based around software development. If you know how to manage your career, whichever technology you're working iwth today will have little bearing on your overall career. The company/role you take today will have a much larger impact on your future.
To that end, asking strangers on the internet for advice with no additional information, we can't provide any real help. The information on which
you should base your decision, and information you should post to help us give you guidance, is information about the different companies/roles along with your career objectives.
For example, if you want to do front end development work, JSF or struts. If you prefer back end or database oriented work, EJB's would e a better fit. If you want to be an architect, you'll wind up learning boh at one time or another. If you're a JSF developer where there are no other front end people, that may be limiting or it may be an opportunity. If you do EJB's but there are no other developers at the company from which to learn, that might also be limiting or an opportunity.
--Mark