读取xml文件类四

else if(actione.getName().equals("interceptor-ref")){
							if(null==interceptorlist){
								interceptorlist=new ArrayList<InterceptorInfo>();
							}
							String infoname=actione.attributeValue("name");
							InterceptorInfo interinfo=null;
							for(InterceptorInfo info:allinterceptor){
								if(infoname.equals(info.getInterceptorname())){
									interinfo=info;
									break;
								}
							}
							if(interinfo!=null){
								//证明没有依赖基石文件,只是依赖了本身的配置文件
								//添加拦截参数
								List<Element> paramelist=actione.elements();
								if(paramelist!=null){
									Map<String, String> parammap=new HashMap<String, String>();
									for(Element parame:paramelist){
										parammap.put(parame.attributeValue("name"), parame.getText());
									}
									interinfo.setParammap(parammap);
								}
								interceptorlist.add(interinfo);
							}else{
								//interinfo为空,需要去基石文件中的拦截器列表去找
								List<InterceptorInfo> fatherinterlist=ConstantMVC.DEFAULTMVCINFO.getAllinterceptor();
								for(InterceptorInfo info:fatherinterlist){
									if(infoname.equals(info.getInterceptorname())){
										List<Element> paramelist=actione.elements();
										if(paramelist!=null){
											Map<String, String> parammap=new HashMap<String, String>();
											for(Element parame:paramelist){
												parammap.put(parame.attributeValue("name"), parame.getText());
											}
											info.setParammap(parammap);
										}
										interceptorlist.add(info);
										break;
									}
								}
							}
						}
						action.setInterceptorlist(interceptorlist);
						action.setResultmap(resultmap);
						action.setStacklist(stacklist);
					}
					String key=action.getActionname().split("_")[0];
					actionmap.put(key, action);
				}
				mvc.setIncludefilelist(includefilelist);
				mvc.setAllinterceptor(allinterceptor);
				mvc.setStackmap(stackmap);
				mvc.setPackageobj(pack);
				mvc.setActionmap(actionmap);
			}
			if(null==ConstantMVC.BEIFENGMVCMAP){
				ConstantMVC.BEIFENGMVCMAP=new HashMap<String, BeifengMvc>();
				ConstantMVC.BEIFENGMVCMAP.put(filelocation, mvc);
			}
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

猜你喜欢

转载自wenkaixuan.iteye.com/blog/1399304