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.
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;
}
}
A forma como chamei o método na js.
alert(Idioma.mensagemAviso("alerta.excluirRegistro"));
Obrigado desde já.