Boa tarde a todos.
Eu criei uma classe que uso para internacionalização de outras classes que tenho em meu sistema.
Mas gostaria de usá-la também em arquivos js.
Quando chamo o método em um js o mesmo é encontrado, porém e resposta que tenho é undefined.
Quando fiz um debug percebi que o js continua a excução sem antes o médoto ter terminado.
Se alguém puder me ajudar.
O código da classe segue abaixo.
[code]package idiomas;
import java.util.Locale;
import java.util.ResourceBundle;
import javax.servlet.http.HttpServletRequest;
import org.directwebremoting.WebContextFactory;
import org.directwebremoting.annotations.Param;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.directwebremoting.annotations.ScriptScope;
import org.directwebremoting.spring.SpringCreator;
/*
- publicando classe no DWR
- Lembre de declarar esta classe no arquivo dentro de
- WEB-INF/dispatcher-servlet.xml
/
/* - @author fabio
/
@RemoteProxy(
creator = SpringCreator.class,
creatorParams = @Param(name = “beanName” / padrão /, value = “Idioma” / nome da classe declarada no spring*/),
name = “Idioma”, /* nome do arquivo .js a ser gerado /
scope = ScriptScope.SESSION / padrão */
)
public class Idioma {
@RemoteMethod /* Disponibilizando o método via DWR */
public static Locale getIdiomaSelecionado() {
HttpServletRequest req = WebContextFactory.get().getHttpServletRequest();
return (Locale) req.getSession().getAttribute("javax.servlet.jsp.jstl.fmt.locale.session");
}
@RemoteMethod /* Disponibilizando o método via DWR */
public static String mensagemAviso(String chave){
ResourceBundle labels = ResourceBundle.getBundle("messages", getIdiomaSelecionado());
String value = labels.getString(chave);
if (value == null || value == "")
value = "Chave não encontrada";
return value;
}
}[/code]
A forma como chamei o método na js.
alert(Idioma.mensagemAviso("alerta.excluirRegistro"));
Obrigado desde já.