What about using JavaScript? Try this:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Changing location</title>
</head>
<body>
<script language="JavaScript">
        
function changeLanguage(lang){
        var location = window.location.href;
        if(location.indexOf("?") == -1){
                location += "?lang=";
                location += lang;
                window.location = location;
        } else {
                var pos = location.indexOf("lang=");
                if(pos != -1){
                        var new_location = location.substring(0, pos + 5);
                        new_location += lang;
                        window.location = new_location;
                } else {
                        location += "&lang=";
                        location += lang;
                        window.location = location;
                }
        }
}

</script>

<input type="button" value="RUS" onclick="changeLanguage('ru')"/> 
<input type="button" value="ENG" onclick="changeLanguage('en')"/> 
</body>
</html>

It will work if you don't need the addition page (such as when dealing with
login).

Also you have to be sure, that your lang=.. parameter is in the end of
parameters line (that is true until you're not trying to add lang=..
somewhere outside). And there will be problem if your application dealing
with parameters named, for example, 'XXXlang'. All imperfections mentioned
can be removed by some little changes in script.

> -----Original Message-----
> From: Antonio Petrelli [mailto:[EMAIL PROTECTED]
> Sent: Friday, August 25, 2006 12:09 PM
> To: Struts Users Mailing List
> Subject: Re: Forward to the same page
> 
> Thomas Hamacher ha scritto:
> > How do I forward to the same page I was coming from? The typical example
> for
> > this is the "change-language-problem". Someone is on one page and simply
> > wants to change the language and expects to see the same page in a
> different
> > language.
> >
> 
> Just an idea, <html:form> tag has the "action" attribute that is no more
> required. If it is not specified the last servlet path (i.e. "post
> back") will be taken.
> http://struts.apache.org/1.x/struts-taglib/tlddoc/html/form.html
> You could grab the code that controls the value of the "action"
> attribute to determine the path you're coming from. Then you "change the
> language" and then redirect (I think it's better than forwarding) to the
> previous servlet path.
> 
> HTH
> Antonio
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to