Ao clicar em ALTERAR, a tela não é preenchida com o nome do respectivo autor e apresenta a mensagem "Nome do autor é necessário!" que deve ser exibida na validação do form, ou seja, quando se clica no botão Gravar... autor.xhtml
<h:body>
<ui:composition template="_template.xhtml">
<ui:define name="titulo">
Novo autor
</ui:define>
<ui:define name="conteudo">
<h:form>
<fieldset>
<legend>Dados do Autor</legend>
<h:panelGrid columns="2">
<h:outputLabel value="Nome:" for="nome" />
<h:inputText id="nome" value="#{autorBean.autor.nome}" required="true" requiredMessage="Nome do autor é necessário!">
<f:validateLength minimum="5"/>
</h:inputText>
<h:message for="nome" />
<h:commandButton value="Gravar" action="#{autorBean.gravar}" />
</h:panelGrid>
</fieldset>
<h:dataTable value="#{autorBean.autores}" var="autor" id="tabelaAutores">
<h:column>
<f:facet name="header">Nome</f:facet>
<h:outputText value="#{autor.nome}" />
</h:column>
<h:column>
<f:facet name="header">Alterar</f:facet>
<h:commandLink value="Altera" action="#{autorBean.carregar(autor)}"/>
</h:column>
<h:column>
<f:facet name="header">Remover</f:facet>
<h:commandLink value="Remove" action="#{autorBean.remove(autor)}"/>
</h:column>
</h:dataTable>
</h:form>
</ui:define>
<ui:define name="rodape">
Copyright SRVTech
</ui:define>
</ui:composition>
</h:body>
autorBean.java:
public void carregar(Autor autor){
this.autor = autor;
}