Eu tenho a segunte situação na minha app: na tela eu tenho dois grid´s onde o segundo grid para ser populado depende do primeiro estar populado, tenho declarado na jsp dois <html:errors/> cada um para seu grid, só que eu tenho um problema, quando eu faço uma consulta no grid principal e o mesmo não me retorna nada, aparece mensagem de erro nos dois grid´s. Só que eu não quero que apareça nos dois grid´s, eu quero que a apareça só no primeiro. O segundo grid é populado a partir de uma pesquisa feita com os dados de algum registro do primeiro grid, caso não tenha registros resultantes, ai sim queria que aparecesse mensagem de erro no segundo grid. Alguem sabe me dizer se tem como eu controlar que html:errors que poderão aprensentar seus erros na tela?
Ja resolvi o problema, é mais simples do que pensava.
Ao inves de adiocionar o seu erro passando o primeiro parametro com um ActionErrors.GLOBAL_ERROR, de um nome para cada erro que vc adicionar e na tag <html:errors/> sete o property com o mesmo nome dado ao seu erro. Se vc setou o nome como por exemplo:
actionErrors.add("erro_principal", ......);
sete o property do <html:errors/> assim
<html:errors property="erro_principal"/>
Será que isso ajuda ?
Na classe
errors.add("name1",new ActionError("error.name.required1"));
errors.add("name2",new ActionError("error.name.required2"));
na view :
<html:errors property="name1"> <%-- mostra soh o erro associado a name1 --%>
<html:errors property="name2"> <%-- mostra soh o erro associado a name2 --%>