⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectmenu.jsp

📁 一本JAVA入门好书:JAVA实例导航的第3章
💻 JSP
字号:
<%@page language="java" contentType="text/html;charset=GBK"%>
<%@page import="java.util.*,java.util.StringTokenizer ,java.text.*,oa.main.DealString,javax.swing.tree.DefaultMutableTreeNode,java.util.Hashtable,java.sql.*"%>
<%@page import="oa.main.DealString"%>
<%@include file="../../inc.jsp"%>
<LINK href="../css/main.css" rel=stylesheet>
<link href="../css/person.css" type=text/css rel=stylesheet>
<q id="this" align=left>	
<table border="1" cellpadding="2" style="border-collapse: collapse; color:#FFFFFF" bordercolor="D0E7FF" width="100%" height="18" bgcolor="#007EAE">
	<tr>
		<td align="left" width="16%">&nbsp;<b>选择版面</b></td>
	</tr>
</table>

<script>
	function selBranch(id1)
	{
		formselmenu.action="selectmenu.jsp?id1="+id1;
		formselmenu.submit();
	}
</script>

<form name="formselmenu" method="post" action="">

<%
Statement stmt=null;
oa.bean.MenuChildBean myBean=null;
oa.bean.MenuBean menuBean=null;
oa.bean.ArticleBean myArtBean=null;
oa.bean.DocBean docBean=null;
try{
myBean = new oa.bean.MenuChildBean();
menuBean = new oa.bean.MenuBean();
myArtBean = new oa.bean.ArticleBean();
docBean = new oa.bean.DocBean();
DealString ds = new DealString();
String strid1 = ds.toString((String)request.getParameter("id1"));

String uid=session.getAttribute("zgbh").toString();
String sql=" select distinct dxbh,menu1,menu2,menu3,id1,id2,id3,news.menu.id "
          +"   from news.zz_fbxwb,news.menu "
		  +"  where news.zz_fbxwb.dxbh=news.menu.id "
		  +"    and news.zz_fbxwb.zgbh='"+uid+"'"
		  +"    and news.menu.zt<>'1' "
		  +"  order by news.menu.id1,news.menu.id2,news.menu.id3 ";
ResultSet rs = docBean.QuerySQL(sql);
if(rs!=null)
	System.out.println("rs!=null");
else
	System.out.println("rs=null");
String radioid = "";

String menuhrachyname = "";

String ID1 = "";
String ID2 = "";
String ID3 = "";
while(rs.next())
{
	String  menuid = ds.toString(rs.getString("id"));
	String  dxbh = ds.toString(rs.getString("dxbh"));
	String  menu1 = ds.toString(rs.getString("menu1"));
	String  menu2 = ds.toString(rs.getString("menu2"));
	String  menu3 = ds.toString(rs.getString("menu3"));
	String  id1 = ds.toString(rs.getString("id1"));	
	String  id2 = ds.toString(rs.getString("id2"));
	String  id3 = ds.toString(rs.getString("id3"));	

	

	if(!id1.equals(ID1))          ////////////////////////////////////////////////1111111111111111/////////////////////////////////////////////////////////////
	{	radioid = id1+"_0_0";
		//输出一级版面:												//+"_"+menu2+"_"+menu3+"("+id1+","+id2+","+id3+")"
		out.println("<table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='#D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");
		out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'><q class='mout' onclick='Expand(\""+radioid+"\")' style='cursor:hand'><font color='blue'>"+menu1+"</font></q></td></tr></table>");
		out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");

		if(Integer.parseInt(id2)==0 && Integer.parseInt(id3)==0)//说明zz_fbxwb.dxbh是一级菜单id,则将此树全部展开
		{
			sql=" select distinct menu2,id2 "
			   +"   from news.menu "
			   +"  where id1=" + id1
			   +"    and id2<>0 "
			   +"  order by id2 ";
			ResultSet rsid2 = docBean.QuerySQL(sql);
			while(rsid2.next())
			{
				String temp_id2 = ds.toString(rsid2.getString("id2"));
				String temp_menu2 = ds.toString(rsid2.getString("menu2"));
				radioid = id1 + "_" + temp_id2 + "_0";
				out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<q class='mout' style='cursor:hand' onclick='Expand(\""+radioid+"\")'><font color='blue'>"+temp_menu2+"</font></q>");//二级
				out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");

				sql = " select distinct menu3,id3,id "
					+ "   from news.menu "
					+ "  where id1=" + id1
					+ "    and id2=" + temp_id2
					+ "    and id3<>0 "
					+"   order by id3";
				ResultSet rsid3 = docBean.QuerySQL(sql);
				while(rsid3.next())
				{
					String temp_id = ds.toString(rsid3.getString("id"));
					String temp_id3 = ds.toString(rsid3.getString("id3"));
					String temp_memu3 = ds.toString(rsid3.getString("menu3"));

					menuhrachyname = menu1 +"\\\\"+ temp_menu2 +"\\\\"+ temp_memu3;

					out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=radio name=menuradio onclick='selectmenu("+temp_id+",4,\""+menuhrachyname+"\");'><font color='blue'>"+temp_memu3+"</font></td></tr>");//三级
				}

				if(rsid3!=null) {stmt = rsid3.getStatement(); rsid3.close();}
				if(stmt!=null) stmt.close();
				out.println("</table></div></td></tr>");//二级
			}
			if(rsid2!=null) {stmt = rsid2.getStatement(); rsid2.close();}
			if(stmt!=null) stmt.close();		
		}

		if(Integer.parseInt(id2)!=0 && Integer.parseInt(id3)==0)//说明zz_fbxwb.dxbh是二级菜单id,则将此小树全部展开
		{
			radioid = id1 + "_" + id2 + "_0";
			out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<q class='mout' style='cursor:hand' onclick='Expand(\""+radioid+"\")'><font color='blue'>"+menu2+"</font></q>");//二级
			out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");

			sql = " select distinct menu3,id3,id "
				+ "   from news.menu "
				+ "  where id1=" + id1
				+ "    and id2=" + id2
				+ "    and id3<>0 "
				+ "  order by id3";
			ResultSet rsid3 = docBean.QuerySQL(sql);
			while(rsid3.next())
			{
				String temp_id = ds.toString(rsid3.getString("id"));
				String temp_id3 = ds.toString(rsid3.getString("id3"));
				String temp_menu3 = ds.toString(rsid3.getString("menu3"));

				menuhrachyname = menu1 +"\\\\"+ menu2 +"\\\\"+ temp_menu3;

				out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=radio name=menuradio onclick='selectmenu("+temp_id+",4,\""+menuhrachyname+"\");'><font color='blue'>"+temp_menu3+"</font></td></tr>"); //三级
			}
			
			if(rsid3!=null){ stmt = rsid3.getStatement(); rsid3.close();}
			if(stmt!=null) {stmt.close();}

			out.println("</table></div></td></tr>");//二级					
		}
		
		if(Integer.parseInt(id2)!=0 && Integer.parseInt(id3)!=0)//说明zz_fbxwb.dxbh是三级菜单id
		{
			radioid = id1 + "_" + id2 + "_0";		
			out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<q class='mout' style='cursor:hand' onclick='Expand(\""+radioid+"\")'><font color='blue'>"+menu2+"</font></q>");//二级
			out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");

			menuhrachyname = menu1 +"\\\\"+ menu2 +"\\\\"+ menu3;

			out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=radio name=menuradio onclick='selectmenu("+menuid+",4,\""+menuhrachyname+"\");'><font color='blue'>"+menu3+"</font></td></tr>");//三级

			out.println("</table></div></td></tr>");//二级
		}		

		out.println("</table></div>");//一级
		ID1 = id1;
		ID2 = id2;
		ID3 = id3;
	}
	else if(!id2.equals(ID2) && !ID2.equals("0"))   ///////////////////////////////////////////////id1==ID1//2222222222222222///////////////////////////////////////////////
	{
		radioid = id1+"_0_0";
		out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");//一级

		radioid = id1 + "_" + id2 + "_0";
		out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<q class='mout' style='cursor:hand' onclick='Expand(\""+radioid+"\")'><font color='blue'>"+menu2+"</font></q>");//二级
		out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");

		if(Integer.parseInt(id2)!=0 && Integer.parseInt(id3)==0)//说明zz_fbxwb.dxbh是二级菜单id,则将此小树全部展开
		{
			sql = " select distinct menu3,id3,id "
				+ "   from news.menu "
				+ "  where id1=" + id1
				+ "    and id2=" + id2
				+ "    and id3<>0 "
				+ "  order by id3";
			ResultSet rsid3 = docBean.QuerySQL(sql);
			while(rsid3.next())
			{
				String temp_id = ds.toString(rsid3.getString("id"));
				String temp_id3 = ds.toString(rsid3.getString("id3"));
				String temp_menu3 = ds.toString(rsid3.getString("menu3"));

				menuhrachyname = menu1 +"\\\\"+ menu2 +"\\\\"+ temp_menu3;

				out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=radio name=menuradio onclick='selectmenu("+temp_id+",4,\""+menuhrachyname+"\");'><font color='blue'>"+temp_menu3+"</font></td></tr>"); //三级
			}
			if(rsid3!=null) {stmt = rsid3.getStatement(); rsid3.close();}
			if(stmt!=null) stmt.close();
		}
		if(Integer.parseInt(id2)!=0 && Integer.parseInt(id3)!=0)//说明zz_fbxwb.dxbh是三级菜单id
		{			
			menuhrachyname = menu1 +"\\\\"+ menu2 +"\\\\"+ menu3;

			out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=radio name=menuradio onclick='selectmenu("+menuid+",4,\""+menuhrachyname+"\");'><font color='blue'>"+menu3+"</font></td></tr>");//三级
		}
		
		out.println("</table></div></td></tr>");//二级
		out.println("</table></div>");//一级

		ID2 = id2;
		ID3 = id3;
	}
	else if(!ID3.equals("0"))
	{
		radioid = id1+"_0_0";
		out.println("<div style='display:none' id='"+radioid+"'>");//一级<table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>

		radioid = id1 + "_" + id2 + "_0";
		//out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<q class='mout' style='cursor:hand' onclick='Expand(\""+radioid+"\")'><font color='blue'>"+menu2+"</font></q>");//二级
		out.println("<div style='display:none' id='"+radioid+"'><table border='0' cellpadding='2' style='border-collapse: collapse; color:#FFFFFF' bordercolor='D0E7FF' width='100%' height='18' bgcolor='#ffffff'>");

		menuhrachyname = menu1 +"\\\\"+ menu2 +"\\\\"+ menu3;

		out.println("<tr bgcolor='#ffffff' height='22'><td width='12%'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=radio name=menuradio onclick='selectmenu("+menuid+",4,\""+menuhrachyname+"\");'><font color='blue'>"+menu3+"</font></td></tr>");//三级
		
		out.println("</table></div>");//二级</td></tr>
		out.println("</div>");//一级</table>
		ID3 = id3;
	}

}
if(rs!=null) {stmt = rs.getStatement(); rs.close();}
if(stmt!=null) stmt.close();

//if(id1.equals(ID1)) continue; //如果已有一级版面权限,则此树已经全部展开,枝叶就不用考虑了
//if(id1.equals(ID1) && id2.equals(ID2)) continue;//如果已有二级版面权限,则此小树已经全部展开,枝叶就不用考虑了

/*Vector vect = new Vector();
String temp = ",";

if(strid1.equals(""))
{
	
	while(rs.next())
	{
		String dxbh = ds.toString(rs.getString(1));
		menuBean.setID(Integer.parseInt(dxbh));
		Hashtable hash = (Hashtable)menuBean.getID1();
		String id1 = (String)hash.get("ID1") ;
		//out.println("temp="+temp+"<br>");
		if(temp.indexOf("," + id1 + ",")==-1)
		{
			
			temp = temp + id1 + ",";
			vect.add(hash);
			out.println("<tr bgcolor='#ffffff'><td width='12%'><a onclick='selBranch("+id1+");' style='cursor:hand'><font color='blue'>"+(String)hash.get("MENU1")+"</a></td><td width='70%'></td></tr>");
			
		}
	}
	//out.println(vect);
}
if(!strid1.equals(""))
{
	while(rs.next())
	{
		String dxbh = ds.toString(rs.getString(1));
		menuBean.setID(Integer.parseInt(dxbh));
		Hashtable hash = (Hashtable)menuBean.getID1();
		String id1 = (String)hash.get("ID1") ;
		//out.println("temp="+temp+"<br>");
		//是否为我想要的id1,不是则看是否重复,只显示一条
		if(!id1.equals(strid1))
		{
			if(temp.indexOf("," + id1 + ",")==-1)
			{
				temp = temp + id1 + ",";
				out.println("<tr bgcolor='#ffffff'><td width='12%'><a onclick='selBranch("+id1+");' style='cursor:hand'><font color='blue'>"+(String)hash.get("MENU1")+"</a></td><td width='70%'></td></tr>");
			}
		}
		//是否为我想要的id1,是则
		if(!id1.equals(strid1))
			{
				//取当前一级版面之下的二级版面
				Hashtable hash2 = (Hashtable)menuBean.getID2();			
			}
		}
	}

}
*/
%>

</form>

<script>
function Expand(radioid)
{
	
	var divTags = document.all.tags("div");															
	var thisdiv = null;
	for(var i=0;i<divTags.length;i++)
	{	
		thisdiv = divTags.item(i);												
		if(thisdiv.id==radioid)
		{
			if(thisdiv.style.display=="none")
				thisdiv.style.display="";
			else 
				thisdiv.style.display="none";
		}

	}
}

function selectmenu(strmenu,sub,menuname)
{		
	window.opener.document.all.txt_id1.value = strmenu;//版面ID
	window.opener.document.all.txt_menu.value = menuname;//版面名称

	if(sub<=4)
		window.opener.document.all.txt_table.value = "1";//第一个表
	else
		window.opener.document.all.txt_table.value = "0";//第二个表
	window.opener.document.all.txt_topic.value = "请选择专题";
	window.opener.document.all.topicid.value = "0";
	
	var num = menuname.indexOf("\\");
	if(num == -1)
		window.opener.document.all.whichtopic.value = menuname;
	else 
		window.opener.document.all.whichtopic.value = menuname.substring(0,num);
	window.close();
	window.opener.focus();
}  

</script>


<%}
finally{
	if(myBean!=null)myBean.closeConn();
	if(menuBean!=null)menuBean.closeConn();
	if(myArtBean!=null)myArtBean.closeConn();
	if(docBean!=null)docBean.closeConn();
}
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -