其中还包括其他个性化设置,如色调呀什么的。
主要是把所有的页面信息都写入属性文件中
准备多套属性文件
在用户登陆验证通过后,所有页面显示之前装载用户语言对应的属性文件
还有什么问题,msn:[email protected]

解决方案 »

  1.   

    可以!所有页面静态显示信息来自于属性配置文件(properties)
      

  2.   

    struts 对多语言支持已经很好了。在网上应该可以找到一些相关文章。
      

  3.   

    我的想法是系统会跟据登陆用户的language属性来决定使用哪一个资源文件,这个技术上怎么实现?能不能具体一点?
      

  4.   

    根据不同的langugae属性来确定不同的local,然后调用不同的properties文件,没什么困难吧,我没做过,不过感觉不难。
      

  5.   

    在struts里面对国际化是支持得很好的
    根据拥护的Language处理他的显示是很简单的
    首先你需要创建properties文件,命名和Locale差不多
    比如Resource.properties,Resource_zn_CN.properties,Resources_jp.properties
    具体处理是这样的,在第一个页面
    session.setAttribute(Globals.LOCAL_KEY,request.getLocale());
    然后框架就会每次检索session里面的Locale来选择相对应的资源文件(properties文件)
      

  6.   

    struts提供的国际化非常简单,也不需要什么管理员指定用户的语言。
    当用户访问服务器的时候,服务器会自动根据用户的浏览器语言选择对应的语言界面显示给用户。
    比如jsp的页面编码都用UTF-8,把界面上要国际化的地方的文字用struts的<bean:message key="title.display"/>标记来替换掉。
    这时你的jsp应该到处是<bean:message>标记了,没有特定的语言文字。
    现在需要一个默认资源文件,比如ApplicationResources.properties
    它的内容如下:
    title.display=This is test page
    然后需要一个中文文件,命名规则是在默认文件名中加上特定区域的代码,中文就是
    ApplicationResources_zh.properties
    它的内容是title.display=/3243/5423/5645/3245
    这些奇怪的符号其实是通过对一个中文文件进行转码得到的:
    一个临时文件temp.properties,内容是title.display=这是一个测试页面
    然后通过native2ascii temp.properties ApplicationResources_zh.properties
    命令即可得到我们需要的中文资源文件ApplicationResources_zh.properties。
    把其它各种语言的资源文件和默认资源文件放在一起,在struts的配置文件里指定一下默认资源文件的路径,你的应用就完成国际化了。
      

  7.   

    楼上的说的就是创建资源文件的方法
    修改一下
    用native2ascii得到的结果是
    title.display=\u3243\u5423\u5645\u3245
      

  8.   

    楼上说的功能我已经实现了,请弄明白我的问题好么?
    譬如说我现在有一个User类,User类中有一个属性是language,标志用户要进入的页面是什么语言的。
    现在我实例化两个user
    User user1 = new User();  user1.setLanguage("CHINESE");
    User user2 = new User();  user2.setLanguage("ENGLISH");
    现在如果以user1的身份登陆进去,则自动进入中文页面,
    如果以user2的身份登陆进去,则自动进入英文页面
    所需要的资源文件都已经存在,现在的情况是这样的,系统进入后是英文页面,因为我在config里面指定的默认的是英文资源文件。然后我更改页面的:工具-internet选项-语言,把语言改为中文,英文删掉,然后刷新,系统就会自动进入中文页面
      

  9.   

    楼主为什么不看我的第一个回复呢?
    你的要求根本不需要在Uder类里面加一个language字段,struts会自动根据用户的Locale来判断选用哪个资源文件的
    而且你要测试的话在工具-internet选项-语言,修改了之后要重开浏览器才能看到效果
      

  10.   

    如果你实在要用自己的那个javabean
    那么就这样来使用
    User user1=new User();
    user1.setLanguage(request.getLocale().getLanguage());
      

  11.   

    顶一下,我跟搂主有同样的问题。
    国际化都会做,但就是客户非得要那种在页面上可以实现语言互换的
    点“英文版”,“日文版”进入不同的语言界面。jFresH_MaN(The answer is ......)(上帝对我说:编程要全面发展,)
    说的方法好像可行,还没来的急试,不过感谢先。还有搂主,和回贴的兄弟们。
      

  12.   

    正确的解决方法:
      HttpSession session = request.getSession(true);
      UserForm userform = (UserForm) form;
      String language = userform.getLanguage();  if (language.equalsIgnoreCase("CHINESE")){
        session.setAttribute(Globals.LOCALE_KEY,Locale.CHINESE);}
      else{
        session.setAttribute(Globals.LOCALE_KEY,Locale.ENGLISH);
      }    MessageResources messages = getResources(request);
    然后配置好
    ApplicationResources_zh.properties和ApplicationResources_en.properties两个资源文件就可以了
    十分感谢大家!感谢lippea(E.L.)!!!分数马上送到
      

  13.   

    不过要引入这个包:import org.apache.struts.Globals;
      

  14.   

    分数已经送给lippea,十分感谢在msn中的交流!