Muito bom, um dia alguem vai precisar disso como eu precisei e vai achar esse tópico
Realmente! Estava com esse problema e achei esse tópico.
Embora eu tenha achado uma alternativa com o uso de um Filtro (código a seguir), eu acredito que isso deva ser tarefa do Framework e não do programador, filtrando diretamente nas tags como sugeriu o Leandro. No meu caso uso mime "application/xhtml+xml" e isso gera um erro fatal (de XML mal formatado) no Firefox.
No meu código ele converte tudo que tiver na input e na output.
Code:
import org.mentawai.core.Filter;
import org.mentawai.core.Input;
import org.mentawai.core.InvocationChain;
import org.mentawai.core.Action;
import org.mentawai.core.Output;
import org.apache.commons.lang.StringEscapeUtils;
public class MentaFilter implements Filter {
public static void escapeOutput(Output output) {
Iterator<String> it = output.keys();
while(it.hasNext()) {
String key = it.next();
Object value = output.getValue(key);
if (value instanceof String) {
output.setValue(key, StringEscapeUtils.escapeHtml((String)value));
}
}
}
public static void escapeInput(Input input) {
Iterator<String> it = input.keys();
while(it.hasNext()) {
String key = it.next();
Object value = input.getValue(key);
if (value instanceof String) {
input.setValue(key, StringEscapeUtils.escapeHtml((String)value));
}
}
}
@Override
public String filter(InvocationChain chain) throws Exception {
Action action = chain.getAction();
String result = chain.invoke();
escapeOutput(action.getOutput());
escapeInput(action.getInput());
return result;
}
}
No loadActions da ApplicationManager é só usar: addGlobalFilter(new MentaFilter());