动态select下来菜单

1、后端代码

/**
* 跳转到查询页面
* 
* @return
 */
public List<Map<String, String>> commercialselect(HttpServletRequest request, HttpServletResponse response) {
	//获取当前登录用户名称
	SysmgrUser user = (SysmgrUser) SessionFactory.getLocalSession().getUser();
	String username = user.getUserName();
	//获取当前登录用户组织orgid
	//String orgid = user.getUserId();
	// 使用临时的组织orgid
	String orgid = getorgid(user.getUserId());
	//String orgid ="1234567";//使用临时的组织orgid
	List<EphspOrg> listorgnode=null;
	try {
	    listorgnode = ephspOrgObjService.selectAllOrgNode(orgid);
	} catch (Exception e) {
	    e.printStackTrace();
	}
	EphspOrg ephspOrgnode = new EphspOrg();
	//循环list存入数组
	List<EphspOrg> listnode = new ArrayList<EphspOrg>();
	String orgidnode="";
	String Parentid="";
	String orgidnodename="";
	String orgidnodeks="";
	String orgidnodeksid="";
	String orgidnodeksname="";
	//获取当前用户是否有数据,如果有,读取出来
	for(int i = 0; i < listorgnode.size(); i++){
	EphspOrg a = listorgnode.get(i);// 直接拿这个a去点get或者set就行了
	EphspOrg ephspOrg = new EphspOrg();
	orgidnode = a.getShortname();
	Parentid = a.getParentid();
	//判断是否还有父节点,如果有,继续获取父节点名称
	if(Parentid!=""){
		List<EphspOrg> listorgnodeid;
		try {
		listorgnodeid = ephspOrgObjService.selectAllOrgNodeid(Parentid);
		for(int j = 0; j < listorgnodeid.size(); j++){
		    EphspOrg y = listorgnodeid.get(j);// 直接拿这个a去点get或者set就行了
		    orgidnodename=y.getShortorgname();
		    orgidnodeks=y.getParentorgid();
		//判断是否还有父节点,如果有,继续获取父节点名称
	if(orgidnodeks!=""){
		List<EphspOrg> listorgnodeorgid;
		listorgnodeorgid = ephspOrgObjService.selectAllOrgNodeid(orgidnodeks);
		for(int u = 0; u < listorgnodeorgid.size(); u++){
		    EphspOrg p = listorgnodeorgid.get(j);// 直接拿这个a去点get或者set就行了
		    orgidnodeksname=p.getShortorgname();
		    orgidnodeksid=p.getParentorgid();
		}
									
		}
		}
		} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		}
		}
		//将值放入list ArrayList里
		ephspOrg.setNameeps(orgidnodename);
		listnode.add(ephspOrg);
		}
		//例如:接口类型值“服务主题”为1234567
		String  servicetopic= (String)request.getAttribute("servicetopic");
		Map<String, Object> pMaporg = new HashMap<String, Object>();
		pMaporg.put("applyorganid", orgid);//将组织机构ID值put到map
		pMaporg.put("servicetopic", servicetopic);//将值put到map
		List<EphspOrgportBasic> listephsporg = ephspOrgportObjService.selectAll(pMaporg);  //查询
		String Orgname=null;      //组织名称
		String Servicename=null;  //服务名称
		String Resourcenum=null;  //
		String TypeName=null;     //类型名称,用来做数据接收
		//循环list存入数组
		List<EphspOrg> lista = new ArrayList<EphspOrg>();
		for (int i = 0; i < listephsporg.size(); i++) {
			EphspOrgportBasic a = listephsporg.get(i);// 直接拿这个a去点get或者set就行了
			EphspOrg ephspOrg = new EphspOrg();
			Orgname = a.getOrgname();
			Servicename = a.getServicename();
			Resourcenum = a.getResourcenum();
			if(Orgname==""){
			    TypeName=Servicename+"(提供方:"+orgidnodename+ "/" +orgidnode+")";
			}else if(orgidnode==""){
			    TypeName=Servicename+"(提供方:"+orgidnodename+ "/" +Orgname+")";
			}else{
			    TypeName=Servicename+"(提供方:"+orgidnodename+ "/" +Orgname+ "/" +orgidnode+")";
			}
			    ephspOrg.setIdeps(Resourcenum);
			    ephspOrg.setNameeps(TypeName);
			    ephspOrg.setShortname(Servicename);
			    lista.add(ephspOrg);		
		        }
			String nameeps="";
		        String ideps="";
			String serviceName="";
			//创建ArrayList<map>
			List<Map<String, String>> list = new ArrayList<Map<String,String>>();
			for (int i=0;i<lista.size();i++) {
				nameeps=lista.get(i).getNameeps();
				ideps=lista.get(i).getIdeps();
				serviceName = lista.get(i).getShortname();
				Map<String,String> map1 = new HashMap<String,String>();
				map1.put("ideps",ideps );
				map1.put("nameeps",nameeps );
				map1.put("serviceName",serviceName);
					list.add(map1);
			}
			//这里的list拼装后返回的值格式是:xxxx服务   提供方/xxx/xxx
			return list;
	}

2、后端页面调用

	/**
	 * 跳转到查询页面 Query
	 * 
	 * @return
	 */
	public ModelAndView select(HttpServletRequest request, HttpServletResponse response) {
		//servicetopic标示判断是哪个类型接口,定义参数
		request.setAttribute("servicetopic", "1234567");
		//传值到跳转页面
		ModelAndView mv = new ModelAndView("/Query/Query");
		mv.addObject("ls",commercialselect(request,response));
		return mv;
	}

3、JSP页面(nameeps是名称、ideps是ID值)

<div class="left-search-title">
	<div> * 企业类型</div>
		<div>
		<select name='Name' id="Name" class="left-input-text">
		 <option value="">请选择</option>  
			 <c:forEach items="${ls}" var="a">  
				<option value="${a.ideps }" title="${a.nameeps}">${a.serviceName}</option>  
			 </c:forEach>
		</select>  
	    </select> 
</div>

4、显示效果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值