18 de fev. de 2009

Appfuse - Mudar extensão do mapeamento da action do struts 2

Recentemente precisei mudar em um projeto a extensão do mapeamento default(.html) do projeto com struts 2 gerado pelo Appfuse decidi usar uma extensão .anototudo . Então segue um passo a passo do que foi necessário.
  1. Editei o arquivo struts.xml do projeto e mudei a constante: constant name="struts.action.extension" value="html" mudei para: constant name="struts.action.extension" value="anototudo"
  2. Editei o arquivo StaticFilter que é um filtro do appfuse na definição: private final static String DEFAULT_INCLUDES = "*.html"; mudei para: private final static String DEFAULT_INCLUDES = "*.anototudo"; neste mesmo arquivo no método doFilterInternal mudei a entrada: path.contains(".html") para: path.contains(".anototudo")
  3. Na pagina header.jsp mudar a entrada: c:url value='/editProfile.html' para c:url value='/editProfile.anototudo'
  4. Em todas as páginas jsp com referências como: onclick="location.href='mainMenu.html'", ou seja, todas as chamadas em página que disparem alguma action utilizando extensão .html . Fiz uma busca textual nos arquivos para isso.
  5. 2 ocorrencias no arquivo urlrewrite.xml
  6. varias ocorrencias no arquivo security.xml
  7. varias ocorrencias no menu-config.xml
  8. ocorrencias no decorators.xml (estas ocorrências existiam para nao aplicar template do sitemesh nas requisições vindas de celular existentes no sistema que estou desenvolvendo.
  9. ocorrencias nos filter mappins no web.xml no gzipfilter e exportfilter
  10. Algumas ocorrencias nos testes das actions e filter (SignupActionTest, UserActionTest, StaticFilterTest
  11. Uma dica importante para não ter problemas com a geração automática do appfuse posteriormente é baixar os templates velocity do appfuse e mudar a extensão nos templates: list-view.ftl, web-tests.ftl, menu-config.ftl
  12. Varias ocorrencias no arquivo web-tests.xml
É isto, após todas estas alterações o sistema voltou a funcionar sem erros e respondendo com a extensão desejada (anototudo). []s

Nenhum comentário: