Placing logic on your view is considered a Bad Thing, despite what Struts and JSTL permit - it violates the Sepation of Concerns
Philosophy makes a mockery of the Model/View/Controller paradigm, since you are in effect, embedding part of the controller in the View.
The closest JSF wants to get to it is conditional tag rendering.
I've done what you're asking about in 2 ways. One was to have 2 buttons and render only the applicable one. More recently I've preferred one button and a getter on the backing bean that returns the (possibly internationalized)
word "Create" or "Update". I also normally include 2 other getters, one for "isCreateMode" and one to return the caption
string for the page appropriate for the context.
I tried reducing the number of getters by doing EL expressions on the view, but the results were both ugly and frustrating.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.