I have a set of button on my page in where when a button is clicked, I want it to stay clicked until I click on another button, how can I do that? use CSS? or there's a component in JSF in one of its open source implementations?
What is it that you want to do?
Do you want the user to not click on the same button again before another button click? If so, making it disabled would be a easier option.
HTML button controls are momentary-contact devices. If you wanted a click-on/click off behavior, you'd have to muck around with CSS. If you want a radio button behavior, it's easier to use a selectOneRadio tag collection. If you have a button dependency (that is, 2 or more buttons that aren't mutually exclusive like radio buttons are), you have to go back to the CSS tricks. Or use the disabled attribute. Which is often the best way to do that.
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.
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.