现在的位置: 主页 > 新闻中心 > 文章列表

dwr框架实现多级菜单

作者:合肥瑶海区海美电器服务部 来源:www.an128l.com 未知发布时间:2017-09-09 10:18:01
dwr框架实现多级菜单 nv.jsp

使用javascript将下级菜单显示在页面上

<%@ 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 'nv.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">

<script type='text/javascript' src='/DwrTest/dwr/engine.js'></script>

<script type='text/javascript' src='/DwrTest/dwr/interface/menuDao.js'></script>

<script type='text/javascript' src='/DwrTest/dwr/util.js'></script>

<script type="text/javascript">

var id;

var n;

function callBack(data) {

if(data.length>0){

var nvs=document.getElementById(id);

if(nvs.innerHTML.indexOf("DIV")>-1 || nvs.innerHTML.indexOf("div")>-1){

var divch=nvs.lastChild;

if(divch.style.display=='none'){

divch.style.display='block';

}else

{

divch.style.display='none';

}

}else{

var nvstr="<div>"+nvs.innerHTML+"</div>";

var spn="";

for(var j=0;j<n*2;j++){

spn=spn+"&nbsp;";

}

n=n+1;

nvstr=nvstr+"<div>";

for(var i=0;i<data.length;i++){

nvstr=nvstr+"<div id='"+data[i].id+"'>"+spn+"<a href='javascript:void(0)' onclick='nvsClick("+data[i].id+","+n+")' >"+data[i].menuname+"</a></div>";

}

nvs.innerHTML=nvstr+"</div>";

}

}

}

function nvsClick(nvid,nu){

id=nvid;

n=nu;

menuDao.himenuDao(id,callBack);

}

</script>

</head>

<body>

<div>

<div id="0" style="display: block">

<a onclick="nvsClick(0,1)" href="javascript:void(0)">主菜单</a>

</div>

</div>

</body>

</html>

dwr.xml配置文件

配置好要使用的实现ajax类的类以及bean.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"

"http://www.getahead.ltd.uk/dwr/dwr30.dtd">

<dwr>

<allow>

<create creator="new" javascript="service">

<param name="class" value="dwr.Service" />

</create>

<create creator="new" javascript="menuDao">

<param name="class" value="dwr.MenuDao" />

</create>

<convert match="bean.User" converter="bean">

<param name="include" value="id,username,password"></param>

</convert>

<convert match="bean.Himenu" converter="bean">

<param name="include" value="id,menuname,displayref,parentMenu,systemClass,menuOreder"></param>

</convert>

</allow>

</dwr>

ajax实现类,,,让dwr生成的函数从这里获得菜单数据

package dwr;

import java.util.ArrayList;

import java.util.List;

import bean.Himenu;

public class MenuDao {

private List<Himenu> list=new ArrayList<Himenu>();

public MenuDao(){

Himenu h=null;

int k=1;

for(int i=0;i<10;i++){

for(int j=1;j<10;j++){

h=new Himenu(k,"菜单"+i+""+j,"菜单"+i+"j",i,1,i);

list.add(h);

k++;

}

}

}

public List<Himenu> himenuDao(int id){

List<Himenu> l=new ArrayList<Himenu>();

Himenu h=null;

for(int i=1;i<list.size();i++){

h=list.get(i);

if(h.getParentMenu()==id){

l.add(h);

}

}

return l;

}

}

菜单 bean

public class Himenu {

/*

* 菜单ID

*/

private int id;

/*

* 菜单名称

*/

private String menuname;

/*

* 菜单引用描述

*/

private String displayref;

/*

* 父节点

*/

private int parentMenu;

/*

* 所属子系统ID

*/

private int systemClass;

/*

* 排序字段

*/

private int menuOreder;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getMenuname() {

return menuname;

}

public void setMenuname(String menuname) {

this.menuname = menuname;

}

public String getDisplayref() {

return displayref;

}

public void setDisplayref(String displayref) {

this.displayref = displayref;

}

public int getParentMenu() {

return parentMenu;

}

public void setParentMenu(int parentMenu) {

this.parentMenu = parentMenu;

}

public int getSystemClass() {

return systemClass;

}

public void setSystemClass(int systemClass) {

this.systemClass = systemClass;

}

public int getMenuOreder() {

return menuOreder;

}

public void setMenuOreder(int menuOreder) {

this.menuOreder = menuOreder;

}www.2cto.com

public Himenu (){}

public Himenu(int id, String menuname, String displayref, int parentMenu,

int systemClass, int menuOreder) {

super();

this.id = id;

this.menuname = menuname;

this.displayref = displayref;

this.parentMenu = parentMenu;

this.systemClass = systemClass;

this.menuOreder = menuOreder;

}

}

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站制作 https://www.feimao666.com

上一篇:为何产品减法在产品设计中是最难的? 下一篇:最后一页