
JSF 2.0 Expert Group member, author of many books (including Core JavaServer Faces)
Author of even more books (including Core JavaServer Faces)
<h:commandButton value="Press me!" action="next"/>
<navigation-rule>
<navigation-case>
<from-outcome>next</from-outcome>
<to-view-id>/next.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<h:commandButton value="Press me!" action="next"/>
<h:inputText value="#{login.name}"/>
<managed-bean> <managed-bean-name>login</managed-bean> <managed-bean-class>com.corejsf.Login</managed-bean> <managed-bean-scope>session</managed-bean-scope> </managed-bean>
@ManagedBean @SessionScoped
public class Login { ... }
h:button, h:link <f:metadata>
<f:viewParam name="q" value="#{quizBean.currentProblem}" />
<f:viewParam name="score" value="#{quizBean.score}" />
</f:metadata>
...
<h:link outcome="#{quizBean.skipOutcome}" value="Skip" includeViewParams="true">
<f:param name="q" value="#{quizBean.currentProblem + 1}" />
</h:link>
<composite:interface>
<composite:actionSource name="form:loginAction"/>
...
</composite:interface>
<composite:implementation>
<h:form...>
...
<h:commandButton id="loginAction"
value="Login" action="welcome"/>
</h:form>
</composite:implementation>
<h:commandButton value="Update"> <f:ajax execute="input1 input2" render="output1"/> </h:commandButton>

resources directoryh:graphicImage, h:outputStylesheet,
h:outputScript have library,
name attributes
<h:outputStylesheet library="css" name="styles.css" />
preRenderView,
postValidate
<f:event type="postValidate" listener="#{user.validate}"/>