1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.compiler;
20
21 import java.io.IOException;
22 import java.util.List;
23
24 import javax.el.ELException;
25 import javax.faces.FacesException;
26 import javax.faces.component.UIComponent;
27 import javax.faces.view.facelets.FaceletContext;
28 import javax.faces.view.facelets.FaceletException;
29 import javax.faces.view.facelets.FaceletHandler;
30
31 public class EncodingHandler implements FaceletHandler
32 {
33
34 private final FaceletHandler next;
35 private final String encoding;
36
37 private volatile List<String> _uniqueIdList;
38
39 public EncodingHandler(FaceletHandler next, String encoding)
40 {
41 this.next = next;
42 this.encoding = encoding;
43 }
44
45 public void apply(FaceletContext ctx, UIComponent parent) throws IOException, FacesException, FaceletException,
46 ELException
47 {
48 this.next.apply(ctx, parent);
49 if (this.encoding == null)
50 {
51 if (!ctx.getFacesContext().getAttributes().containsKey("facelets.Encoding"))
52 {
53 ctx.getFacesContext().getAttributes().put("facelets.Encoding", "UTF-8");
54 }
55 }
56 else
57 {
58
59 ctx.getFacesContext().getAttributes().put("facelets.Encoding", this.encoding);
60 }
61 }
62
63
64
65
66 public List<String> getUniqueIdList()
67 {
68 return _uniqueIdList;
69 }
70
71
72
73
74 public void setUniqueIdList(List<String> uniqueIdList)
75 {
76 this._uniqueIdList = uniqueIdList;
77 }
78
79 }