首页 > 其他 > 详细

实现联动菜单

时间:2014-03-14 01:47:34      阅读:556      评论:0      收藏:0      [点我收藏+]

Board.java(板块与子版块)

package model;

import java.util.ArrayList;
import java.util.List;

public class Board {
     private int id;
     private String name;
     //自引用外键,自关联
     private int parentid;
     
     //子版块集合
     private List<Board>   boards=new ArrayList<Board>();
     
     
     
	public List<Board> getBoards() {
		return boards;
	}
	public void setBoards(List<Board> boards) {
		this.boards = boards;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getParentid() {
		return parentid;
	}
	public void setParentid(int parentid) {
		this.parentid = parentid;
	}
     
}

MenuAction.java

package action;

import java.util.HashMap;
import model.Board;

import com.opensymphony.xwork2.ActionSupport;

public class MenuAction extends ActionSupport {
     
	//主板块id
	private int index;
	private HashMap<String,Board>  dataMap=new HashMap<String, Board>();
	
	@Override
	public String execute() throws Exception {
         //第一个板块
		 Board  java=new Board();
         //主板块parentid=0
         java.setParentid(0);
         java.setId(1);
         java.setName("java");
         
         //子版块
         
         Board  jsp=new Board();
         //主板块parentid=0
         jsp.setParentid(1);
         jsp.setId(3);
         jsp.setName("jsp");
         
         Board  ssh=new Board();
         //主板块parentid=0
         ssh.setParentid(1);
         ssh.setId(4);
         ssh.setName("ssh");
         
         //主板块添加子版块
         java.getBoards().add(jsp);
         java.getBoards().add(ssh);
         
         
         //第二个主板块
    	 Board  net=new Board();
         //主板块parentid=0
    	 net.setParentid(0);
    	 net.setId(2);
    	 net.setName(".net");
    	 
         //子版块
         
         Board  mvc=new Board();
         //主板块parentid=0
         mvc.setParentid(2);
         mvc.setId(5);
         mvc.setName("mvc");
         
         Board  wcf=new Board();
         //主板块parentid=0
         wcf.setParentid(2);
         wcf.setId(6);
         wcf.setName("wcf");
         
         //主板块添加子版块
         net.getBoards().add(wcf);
         net.getBoards().add(mvc);
    	 
         
         dataMap.clear();//每次充值前先清空
         if(index==1){
        	
        	 dataMap.put("board",java);
         }else{
        	 //dataMap.clear();//每次充值前先清空
        	 dataMap.put("board",net);
         }
         System.out.println(java.toString()+"----------------");
		 return SUCCESS;
	}

	public int getIndex() {
		return index;
	}

	public void setIndex(int index) {
		this.index = index;
	}

	public HashMap<String, Board> getDataMap() {
		return dataMap;
	}

	public void setDataMap(HashMap<String, Board> dataMap) {
		this.dataMap = dataMap;
	}
	
	
}


struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
        <package name="json" extends="json-default">
          <action name="json" class="action.MenuAction" >
            <result type="json">
              <param name="root">dataMap</param>
            </result>
          </action>
        </package>
</struts>    


struts2和 引用json所需要的jar包

bubuko.com,布布扣

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP ‘index.jsp‘ starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
<script src="${pageContext.request.contextPath}/jquery-1.10.1.js"
	type="text/javascript"><!--引用js文件-->
	
</script>

<script type="text/javascript">
    $(function(){
    	$("#mianmenu").change(function(){
    		$.getJSON("/menu/json",{index:$(this).val()},function(data){
    			var boards=data.board;
    			//alert(boards[0]);
    			var myOptions=‘‘;
    			for(i=0;i<boards.boards.length;i++){
    				myOptions+=‘<option  value="‘+boards.boards[i].id+‘">‘+boards.boards[i].name+‘</option>‘;
    				$("#childmenu").html(myOptions);
    			}
    		}
    		
    		);
    	  }	
    	);
    });
</script>

</head>

<body>
	<select name="index"  id="mianmenu">
		<option value="1">java</option>
		<option value="2">.net</option>
	</select>
	<select name="childmenu"  id="childmenu">
		
	</select>
</body>
</html>
bubuko.com,布布扣
bubuko.com,布布扣

实现联动菜单,布布扣,bubuko.com

实现联动菜单

原文:http://blog.csdn.net/yantingmei/article/details/21178077

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!