O Mozilla, para interpretar arquivos XUL, tem que receber o content type igual a application/vnd.mozilla.xul+xml. Esse era o problema de 100% dos que me perguntaram como gerar dinâmicamente telas em XUL.
Para integrar com o WebWork é necessário seguir estes passos:
- Crie um tipo de retorno personalizado seu incluindo como primeiro elemento dentro da tag <package>
<result-types>
<result-type name="xul" class="seupacote.SuaClasseResult"/>
</result-types> - Crie a classe seupacote.SuaClasseResult extendendo alguma classe de resultado do WebWork. São classes de resultado ServletDispatcherResult, ServletRedirectResult, VelocityResult entre outras. Sobreescreva o método getContentType
package seupacote;
import com.opensymphony.webwork.dispatcher.VelocityResult;
public class SuaClasseResult extends VelocityResult {
protected String getContentType(String templateLocation) {
return "application/vnd.mozilla.xul+xml";
}
} - Coloque o tipo de retorno que nas acoes
<result name="success" type="xul">
Nenhum comentário:
Postar um comentário