FreeMarkerTest:
t.ftl
t_zh_CN.ftl
freemarker支持多语言国际化,只要把模板名称安装资源文件的写法就可以了,也就是name_语言_国家地区.ftl
如果找不到对应的语言,就会用默认语言的模板。
转帖地址: http://www.blogjava.net/vip01/archive/2007/05/08/115959.html
1
import
java.io.BufferedWriter;
2 import java.io.File;
3 import java.io.FileOutputStream;
4 import java.io.OutputStreamWriter;
5 import java.io.Writer;
6 import java.util.HashMap;
7 import java.util.Locale;
8
9 import freemarker.template.Configuration;
10 import freemarker.template.Template;
11
12 public class FreeMarkerTest {
13
14 public static void main(String[] args) {
15 FreeMarkerTest test = new FreeMarkerTest();
16 test.getFile();
17 test.getFile(Locale.JAPAN);
18 }
19
20 public void getFile() {
21 Configuration freemarkerCfg = new Configuration();
22 freemarkerCfg.setClassForTemplateLoading( this .getClass(), " / " );
23 freemarkerCfg.setEncoding(Locale.getDefault(), " UTF-8 " );
24 Template template;
25 try {
26 template = freemarkerCfg.getTemplate( " t.ftl " );
27 template.setEncoding( " UTF-8 " );
28 File htmlFile = new File( " t.html " );
29 Writer out = new BufferedWriter( new OutputStreamWriter(
30 new FileOutputStream(htmlFile), " UTF-8 " ));
31 HashMap propMap = new HashMap();
32 propMap.put( " user " , " hermit " );
33 template.process(propMap, out);
34 out.flush();
35 } catch (Exception e) {
36 e.printStackTrace();
37 }
38 }
39
40 public void getFile(Locale loc) {
41 Configuration freemarkerCfg = new Configuration();
42 freemarkerCfg.setClassForTemplateLoading( this .getClass(), " / " );
43 freemarkerCfg.setEncoding(Locale.getDefault(), " UTF-8 " );
44 Template template;
45 try {
46 template = freemarkerCfg.getTemplate( " t.ftl " ,loc);
47 template.setEncoding( " UTF-8 " );
48 File htmlFile = new File( " t_ " + loc.getLanguage() + " _ " + loc.getCountry() + " .html " );
49 Writer out = new BufferedWriter( new OutputStreamWriter(
50 new FileOutputStream(htmlFile), " UTF-8 " ));
51 HashMap propMap = new HashMap();
52 propMap.put( " user " , " hermit " );
53 template.process(propMap, out);
54 out.flush();
55 } catch (Exception e) {
56 e.printStackTrace();
57 }
58 }
59
60 }
61
2 import java.io.File;
3 import java.io.FileOutputStream;
4 import java.io.OutputStreamWriter;
5 import java.io.Writer;
6 import java.util.HashMap;
7 import java.util.Locale;
8
9 import freemarker.template.Configuration;
10 import freemarker.template.Template;
11
12 public class FreeMarkerTest {
13
14 public static void main(String[] args) {
15 FreeMarkerTest test = new FreeMarkerTest();
16 test.getFile();
17 test.getFile(Locale.JAPAN);
18 }
19
20 public void getFile() {
21 Configuration freemarkerCfg = new Configuration();
22 freemarkerCfg.setClassForTemplateLoading( this .getClass(), " / " );
23 freemarkerCfg.setEncoding(Locale.getDefault(), " UTF-8 " );
24 Template template;
25 try {
26 template = freemarkerCfg.getTemplate( " t.ftl " );
27 template.setEncoding( " UTF-8 " );
28 File htmlFile = new File( " t.html " );
29 Writer out = new BufferedWriter( new OutputStreamWriter(
30 new FileOutputStream(htmlFile), " UTF-8 " ));
31 HashMap propMap = new HashMap();
32 propMap.put( " user " , " hermit " );
33 template.process(propMap, out);
34 out.flush();
35 } catch (Exception e) {
36 e.printStackTrace();
37 }
38 }
39
40 public void getFile(Locale loc) {
41 Configuration freemarkerCfg = new Configuration();
42 freemarkerCfg.setClassForTemplateLoading( this .getClass(), " / " );
43 freemarkerCfg.setEncoding(Locale.getDefault(), " UTF-8 " );
44 Template template;
45 try {
46 template = freemarkerCfg.getTemplate( " t.ftl " ,loc);
47 template.setEncoding( " UTF-8 " );
48 File htmlFile = new File( " t_ " + loc.getLanguage() + " _ " + loc.getCountry() + " .html " );
49 Writer out = new BufferedWriter( new OutputStreamWriter(
50 new FileOutputStream(htmlFile), " UTF-8 " ));
51 HashMap propMap = new HashMap();
52 propMap.put( " user " , " hermit " );
53 template.process(propMap, out);
54 out.flush();
55 } catch (Exception e) {
56 e.printStackTrace();
57 }
58 }
59
60 }
61
t.ftl
<
html
>
< head >
< title > Welcome! </< span>title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</< span>head>
<body>
<h1>Welcome ${user}!</< span>h1>
</< span>body>
</< span>html>
< head >
< title > Welcome! </< span>title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</< span>head>
<body>
<h1>Welcome ${user}!</< span>h1>
</< span>body>
</< span>html>
t_zh_CN.ftl
<
html
>
< head >
< title > 欢迎! </< span>title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</< span>head>
<body>
<h1>你好 ${user}!</< span>h1>
</< span>body>
</< span>html>
< head >
< title > 欢迎! </< span>title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</< span>head>
<body>
<h1>你好 ${user}!</< span>h1>
</< span>body>
</< span>html>
freemarker支持多语言国际化,只要把模板名称安装资源文件的写法就可以了,也就是name_语言_国家地区.ftl
如果找不到对应的语言,就会用默认语言的模板。
转帖地址: http://www.blogjava.net/vip01/archive/2007/05/08/115959.html