Tenho um formulário com um input que serve de filtro e uma listagem dos resultados em baixo utilizando displaytag.
O problema é que quando filtro com algum texto que contenha acento, o displaytag monta a baseUrl com caracteres do tipo: “%c3%a7” (que corresponde ao “ç”).
Como posso ajustar isso? Meu vraptor esta configurado para utilizar ISO-8859-1.
<!--web.xml-->
<context-param>
<param-name>br.com.caelum.vraptor.encoding</param-name>
<param-value>ISO-8859-1</param-value>
</context-param>
E assim está minha jsp com o problema de acentos:
<form id="form" action="${linkTo[ApplicationController].filter}" method="POST">
<input type="text" name="applicationFilter.name" value="${applicationFilter.name}" />
<input type="hidden" name="_method" value="POST" />
<button type="button" onclick="filterApplication();">${bundle['search']}</button>
<button type="button" onclick="newApplication();">${bundle['add.new']}</button>
</form>
<ajax:displayTag id="expenseTypeResults">
<display:table name="pagingResults" uid="item" requestURI="/application/filter" class="its" style="width:50%;">
<display:column style="width: 95%;" property="name" title="${bundle['application.name']}" url="/application/${item.id}" sortable="true" />
<display:column style="width: 5%;">
<img src="<c:url value='/img/delete.png' />" onclick="deleteApplication(${item.id});" style="cursor:pointer;" />
</display:column>
</display:table>
</ajax:displayTag>
O input “applicationFilter.name” é o que da o problema quando digito acentos e tento ordenar a lista do display tag.
A url que o displaytag monta é a seguinte:
onclick="new AjaxJspTag.OnClick({baseUrl: "/metrica/application/filter?sort=name&dir=asc&applicationFilter.name=Aplica%C3%A7%C3%A3o+A&_method=POST", eventBase: this, requestHeaders: ['x-request-target', 'expenseTypeResults'], target: "expenseTypeResults"}); return false;"
E na minha controladora, o atributo name chega desta maneira:
Aplica%C3%A7%C3%A3o