Krzysztof
Z.
Programista PHP/
Webdeveloper
Temat: jsf internacjonalizacja
Witam,
import java.io.Serializable;
import java.util.Locale;
import javax.enterprise.context.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.inject.Named;
@Named("lang")
@SessionScoped
public class JezykBean implements Serializable {
public void choose(ActionEvent e)
{
FacesContext ctx = FacesContext.getCurrentInstance();
String lang = ctx.getExternalContext().
getRequestParameterMap().get("locale");
if(lang != null)
{
ctx.getViewRoot().setLocale(new Locale("en"));
}
}
}
<h:commandLink actionListener="#{lang.choose}">pl</h:graphicImage>
<f:param value="pl" name="locale" /></h:commandLink>
<h:commandLink actionListener="#{lang.choose}"><f:param value="en" name="locale" /></h:commandLink>
<locale-config>
<default-locale>pl</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
<resource-bundle>
<base-name>lang.lang</base-name>
<var>msg</var>
</resource-bundle>
Chcę zrobić wielojęzyczną aplikację, ustawiłem zakres sesyjny i mimo wszystko język działa tylko dla requestu, mam drugiego beana o zasięgu sesyjnym, który działa.
Proszę o radę.Krzysztof Z. edytował(a) ten post dnia 03.07.11 o godzinie 20:26