1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.facelets;
21
22 import javax.faces.view.facelets.TagHandler;
23 import javax.faces.view.facelets.TagAttribute;
24 import javax.faces.view.facelets.TagConfig;
25
26 import javax.faces.view.facelets.FaceletContext;
27
28 import org.apache.myfaces.tobago.util.BundleMapWrapper;
29
30 import javax.faces.component.UIComponent;
31 import javax.faces.FacesException;
32 import javax.faces.context.FacesContext;
33 import javax.el.ELException;
34 import java.io.IOException;
35
36 public class LoadBundleHandler extends TagHandler {
37 private final TagAttribute basename;
38
39 private final TagAttribute var;
40
41 public LoadBundleHandler(TagConfig config) {
42 super(config);
43 this.basename = getRequiredAttribute("basename");
44 this.var = getRequiredAttribute("var");
45 }
46
47 public void apply(FaceletContext faceletContext, UIComponent parent)
48 throws IOException, FacesException, ELException {
49 String name = basename.getValue(faceletContext);
50 BundleMapWrapper map = new BundleMapWrapper(name);
51 FacesContext facesContext = faceletContext.getFacesContext();
52
53 facesContext.getExternalContext().
54 getSessionMap().put(var.getValue(faceletContext), map);
55
56 }
57 }