[jboss-user] [JBoss Seam] - Re: Change Locale sequence
rengar
do-not-reply at jboss.com
Fri Dec 22 05:18:52 EST 2006
-Page:
| <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| <html xmlns="http://www.w3.org/1999/xhtml"
| xmlns:ui="http://java.sun.com/jsf/facelets"
| xmlns:h="http://java.sun.com/jsf/html"
| xmlns:f="http://java.sun.com/jsf/core"
| xmlns:s="http://jboss.com/products/seam/taglib"
| xmlns:a="https://ajax4jsf.dev.java.net/ajax"
| xmlns:ice="http://www.icesoft.com/icefaces/component">
| <head>
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
| <title>Reservas</title>
| <link href="stylesheet/theme.css" rel="stylesheet" type="text/css" />
| <link href="stylesheet/#{inicio.asociacion.hojaEstilos}" rel="stylesheet" type="text/css" />
| <script language='javascript' src='js/calendario/popcalendar.js'></script>
| </head>
|
| <body>
|
| <table border="0">
| <tr>
| <td align="center"><h:graphicImage id="banner" url="img/banners/#{inicio.asociacion.banner}" /></td>
| </tr>
| <tr>
| <td class="texto">
| <h:outputText value="#{messages['inicio.page.desc1']}" escape="false"/>
| </td>
| </tr>
| <tr class="headerBarClara" align="center">
| <td class = "textoBlanco" align="center">
| <h:outputText value="#{messages['inicio.page.titulo']}" escape="false"/>
| <h:form id="selectLanguage">
| <h:selectOneMenu value="#{localeSelector.language}">
| <f:selectItems value="#{localeSelector.supportedLocales}"/>
| </h:selectOneMenu>
| <h:commandButton action="#{localeSelector.select}" value="#{messages['ChangeLanguage']}"/>
| </h:form>
| </td>
| </tr>
| <tr>
| <td align="center" class="texto">
| <h:messages globalOnly="true" styleClass="message"/>
|
| <h:form id="inicio">
| <div>
| <s:validateAll>
| <div>
| <s:decorate>
| <h:outputLabel for="diaLlegada">#{messages['inicio.page.param.diaLlegada']}</h:outputLabel>
| <h:inputText id="diaLlegada" value="#{inicio.diaLlegada}" required="true">
| <s:convertDateTime pattern="dd/MM/yyyy"/>
| <a:support event="onblur" reRender="checkinDateErrors"/>
| </h:inputText>
| <img src="img/dtpick.gif" style="margin-left:5px" onClick="javascript:popUpCalendar(this, document.forms['inicio'].elements['inicio:diaLlegada'], 'dd/mm/yyyy')"/>
| <br/>
| <a:outputPanel id="checkinDateErrors"><s:message/></a:outputPanel>
| <!--
| <s:decorate>
| <ice:selectInputDate id="diaLlegada2" value="#{inicio.diaLlegada}" renderAsPopup="true" partialSubmit="true"/>
| <br/>
| <s:message/>
| </s:decorate>
| -->
| </s:decorate>
| </div>
|
| <div>
| <s:decorate>
| <h:outputLabel for="diaSalida">#{messages['inicio.page.param.diaSalida']}</h:outputLabel>
| <h:inputText id="diaSalida" value="#{inicio.diaSalida}" required="true">
| <s:convertDateTime pattern="dd/MM/yyyy"/>
| <a:support event="onblur" reRender="checkoutDateErrors"/>
| </h:inputText>
| <img src="img/dtpick.gif" style="margin-left:5px" onClick="javascript:popUpCalendar(this, document.forms['inicio'].elements['inicio:diaSalida'], 'dd/mm/yyyy')"/>
| <br/>
| <a:outputPanel id="checkoutDateErrors"><s:message/></a:outputPanel>
| </s:decorate>
| </div>
|
| </s:validateAll>
| </div>
| <div class="actionButtons">
| <h:commandButton id="inicio" value="#{messages['inicio.page.buscar.button']}"
| action="#{inicio.inicio}"/>
| <h:commandButton id="buscarAvanzado" value="#{messages['inicio.page.buscarAvanzado.button']}"
| action="#{inicio.listado}"/>
| <h:commandButton id="borrar" value="#{messages['inicio.page.borrar.button']}"
| action="#{inicio.inicio}"/>
| <s:link id="listado" value="#{messages['inicio.page.buscarAvanzado.button']}"
| action="#{inicio.listado}"/>
| </div>
| </h:form>
|
| </td>
| </tr>
| <tr class = "headerBarClara">
| <td height="16"></td>
| </tr>
| <tr>
| <td align="center" class="texto">
| <h:outputText value="#{inicio.asociacion.explicacion}" escape="false"/>
| </td>
| </tr>
| </table>
|
| </body>
| </html>
|
|
-Action:
|
| package com.minalink.reservas;
|
| import java.util.ArrayList;
| import java.util.List;
| import javax.ejb.Remove;
| import javax.ejb.Stateful;
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
| import org.hibernate.validator.Length;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Destroy;
| import org.jboss.seam.annotations.Logger;
| import org.jboss.seam.framework.EntityQuery;
| .
| .
| .
| import org.jboss.seam.log.Log;
| import org.jboss.seam.core.FacesMessages;
| import org.jboss.seam.core.Locale;
| import org.jboss.seam.core.LocaleSelector;
|
| @Stateful
| @Name("inicio")
| public class InicioBean implements Inicio {
|
| @Logger private Log log;
|
| @In
| FacesMessages facesMessages;
|
| @PersistenceContext
| private EntityManager em;
|
| AsociacionesLangHome asociacionesLangHome;
|
| private String diaLlegada;
|
| private String diaSalida;
|
| private int asociacionesId;
|
| private AsociacionesLang asociacion;
|
|
| //seam-gen method
| public String inicio() {
|
| log.info("inicio.inicio() action called with: #0 #1", diaLlegada, diaSalida);
| facesMessages.add( "inicio #0, #1", (Object) diaLlegada, (Object) diaSalida );
|
| return "success";
| }
|
| //add additional action methods
|
| @Length(max=10)
| public String getDiaLlegada() {
| return diaLlegada;
| }
|
| public void setDiaLlegada(String diaLlegada) {
| log.info("diaLlegada: #0 ", diaLlegada);
| this.diaLlegada = diaLlegada;
| }
|
| @Length(max=10)
| public String getDiaSalida() {
| return diaSalida;
| }
|
| public void setDiaSalida(String diaSalida) {
| log.info("diaSalida: #0 ", diaSalida);
| this.diaSalida = diaSalida;
| }
|
| public void setAsociacionesId(int asociacionesId) {
| this.asociacionesId = asociacionesId;
|
| String language = Locale.instance().getLanguage();
| System.out.println( "language : "+ language );
|
| asociacionesLangHome = new AsociacionesLangHome();
|
| AsociacionesLangId id = new AsociacionesLangId(asociacionesId, language);
| asociacionesLangHome.setAsociacionesLangId(id);
|
| try{
| this.setAsociacion(asociacionesLangHome.getInstance());
| }catch(Exception e){
| System.out.println( "asociacionesId: "+ asociacionesId );
| System.out.println( "language error: "+ language );
|
| LocaleSelector.instance().selectLanguage(ConfiguracionCte.DEFAULT_LANG);
| language = Locale.instance().getLanguage();
| System.out.println( "language 2 : "+ language );
|
| id = new AsociacionesLangId(asociacionesId, language);
| asociacionesLangHome.setAsociacionesLangId(id);
|
| this.setAsociacion(asociacionesLangHome.getInstance());
| }
| }
|
| public int getAsociacionesId() {
| return asociacionesId;
| }
|
| @Destroy @Remove
| public void destroy() {}
|
| public AsociacionesLang getAsociacion() {
| return asociacion;
| }
|
| public void setAsociacion(AsociacionesLang asociacion) {
| this.asociacion = asociacion;
| }
|
| }
|
When I change language the page is reload --> method setAsociacionesId is called.
But catch previous language value to change language.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3995832#3995832
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3995832
More information about the jboss-user
mailing list