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、显示效果