ConfigerAction.java
上传用户:zhc3n3
上传日期:2022-07-30
资源大小:2750k
文件大小:2k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

JavaScript

  1. package com.t11.web.XML;
  2. import java.io.File;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import org.dom4j.Document;
  7. import org.dom4j.Element;
  8. import org.dom4j.io.SAXReader;
  9. import com.t11.web.ActionForward;
  10. import com.t11.web.ActionMapping;
  11. public class ConfigerAction {
  12. Map<String, ActionMapping> actionMappings = new HashMap<String, ActionMapping>();
  13. public ConfigerAction(String fileName) {
  14. SAXReader reader = new SAXReader();
  15. try {
  16. Document doc = reader.read(new File(fileName));
  17. // 调用
  18. parseConfig(doc);
  19. } catch (Exception e) {
  20. // TODO Auto-generated catch block
  21. e.printStackTrace();
  22. }
  23. }
  24. public void parseConfig(Document doc) {
  25. ActionMapping actionMapping = null;
  26. List<Element> els = doc.selectNodes("//action-mappings/action");
  27. for (Element element : els) {
  28. String path = element.attributeValue("path");
  29. String type = element.attributeValue("type");
  30. String redirect = element.attributeValue("redirect");
  31. actionMapping = new ActionMapping();
  32. actionMapping.setPath(path);
  33. actionMapping.setType(type);
  34. actionMapping.setRedirect(Boolean.parseBoolean(redirect));
  35. List<Element> es = element.elements("forward");
  36. Map<String, ActionForward> forward = new HashMap<String, ActionForward>();
  37. for (Element element2 : es) {
  38. String fname = element2.attributeValue("name");
  39. String fpathe = element2.attributeValue("path");
  40. forward.put(fname, new ActionForward(fname,fpathe));
  41. }
  42. actionMapping.setForward(forward);
  43. actionMappings.put(actionMapping.getPath(), actionMapping);
  44. }
  45. }
  46. public ActionMapping findActionMapping(String path){
  47. System.out.println(actionMappings.size()+"  "+path);
  48. return actionMappings.get(path);
  49. }
  50. }