`
haiyangyiba
  • 浏览: 14421 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP自定义标签无限极(数据来源于数据库)下拉联动

阅读更多

说明:这个工程的环境需要:JSP自定义标签、dwr,这个例子提供了几个实际应用的例子,包括了修改时候自动选中等。

首先看看web.xml的配置:

1、

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
		<servlet-name>dwr-remote</servlet-name>
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr-remote</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>
  
  <jsp-config>
  	<taglib>
  		<taglib-uri>/tag</taglib-uri>
  		<taglib-location>/WEB-INF/ne.tld</taglib-location>
  	</taglib>
  </jsp-config>
</web-app>

 

2、dwr的配置文件dwr.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "dwr30.dtd">

<dwr>
	<allow>
		<create creator="new" javascript="LINK">
			<param name="class" value="com.core.LinkageAdapter"></param>
		</create>
	</allow>
</dwr>

 

3、tag.xml,jsp自定义标签的配置文件

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

<taglib>
	<tlib-version>1.0</tlib-version>
	<jsp-version>1.2</jsp-version>
	<uri>/tag</uri>
	
	<tag>
		<name>select</name>
		<body-content>empty</body-content>
		<info>下拉框标签</info>
		<tag-class>com.tag.link.SelectTag</tag-class>
		<attribute>
			<description>select框的name属性</description>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<name>name</name>
		</attribute>
		<attribute>
			<description>select框的sql属性</description>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<name>sql</name>
		</attribute>
		<attribute>
			<name>bind</name>
			<description>绑定下一级别的ID属性</description>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>bindSelectValue</name>
			<description>绑定联动的下拉框的值,当联动的下拉框的值为当前的值的时候选中</description>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>bindSql</name>
			<description>下一级别的查询SQL语句</description>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>
	<tag>
		<name>select:link</name>
		<body-content>empty</body-content>
		<info>联动的子级标签</info>
		<tag-class>com.tag.link.LinkSelect</tag-class>
		<attribute>
			<description>select框的name属性</description>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<name>name</name>
		</attribute>
		<attribute>
			<name>bind</name>
			<description>绑定下一级别的ID属性</description>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>bindSql</name>
			<description>绑定下一级别的ID属性</description>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>bindSelectValue</name>
			<description>选中该下拉框的属性值</description>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>
</taglib>

 

4、有了上面的配置后,在jsp页面调用如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="tag" uri="/tag" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>下拉联动的测试</title>
    <style type="text/css">
    	*{
    		padding: 15px;
    	}
    </style>
	<meta http-equiv="pragma" content="no-cache" />
	<meta http-equiv="cache-control" content="no-cache" />
	<meta http-equiv="expires" content="0" />    
	
	<script type='text/javascript' src='<%=request.getContextPath() %>/dwr/interface/LINK.js'></script>
  	<script type='text/javascript' src='<%=request.getContextPath() %>/dwr/engine.js'></script>
  	<script type='text/javascript' src='<%=request.getContextPath() %>/dwr/util.js'></script>

  </head>
  
  <body>
    
    <fieldset>
    	<legend>省县乡级联</legend>
	    <tag:select name="province" sql="select povinceid,povincename from povince" bind="city" 
	    bindSql="select cityid,cityname from city where father = " />
	    
	    <tag:select:link name="city" bind="area"  
	    bindSql="select areaid,areaname from area where father = "/>
	    
	    <tag:select:link name="area" />
    </fieldset>
    
    <fieldset>
    	<legend>省县级联</legend>
    	<tag:select name="sheng" sql="select povinceid,povincename from povince" bind="xian" bindSql="select cityid,cityname from city where father = "/>
    	<tag:select:link name="xian" />
    </fieldset>
    
    <fieldset>
    	<legend>县乡级联</legend>
    	<tag:select name="xianxian" sql="select cityid,cityname from city " bind="xiangxiang" bindSql="select areaid,areaname from area where father = "/>
    	<tag:select:link name="xiangxiang" />
    </fieldset>
    
    <script type="text/javascript" src="<%=request.getContextPath() %>/js/select.js"></script>
  </body>
</html>

 

5、请注意查看标签调用的那部分,这个页面就实现了3组的联动,详细的就不说了,附上可以运行的工程。

详细也可以看

http://haiyangyiba.iteye.com/admin/blogs/650250

这里有详细的信息。

分享到:
评论

相关推荐

    dwr无限极下拉联动(运行6级下拉联动效果演示含说明,数据库数据来源于数据库中)

    dwr无限极下拉联动(运行6级下拉联动效果演示含说明,数据库数据来源于数据库中 这里为一个视频演示程序,有什么疑问可以留言。 这个视频是一个avi的文件,压缩后不到8M,源文件有500M,需要看看的朋友可以下载。

    php后台无限极栏目菜单+数据库

    懒加载则是在用户滚动页面时按需加载,只加载可视区域内的菜单项,适合于数据量大或深度深的菜单。 在开发过程中,我们还需要注意代码的可维护性和扩展性。可以使用面向对象编程(OOP)设计模式,比如工厂模式来...

    ajax无限极联动

    无限极联动通常用于表示层次结构的数据,如分类目录、组织架构等。在这种模式下,每一级都可以展开或收起,且层级可以无限延伸。在传统的HTML页面中,如果要实现这种功能,通常需要在页面加载时一次性加载所有数据,...

    mysql(多级分销)无限极数据库设计之嵌套集完整性程序源码和脚本,go增删改查

    mysql(多级分销)无限极数据库设计方案(邻接表,路径枚举,闭包表,嵌套集);前三种好理解,最后一种嵌套集设计需要程序维持完整性,这里着重讲解设计思路,并附有Golang实现的源码(增删改查),各位同仁可斟酌...

    通用无限极下拉菜单的实现代码

    通用无限极下拉菜单的实现是一种常见的前端技术,主要应用于网站导航栏的构建,以提供层次清晰、操作便捷的用户体验。下面我们将详细探讨如何实现这样一个功能,并介绍其核心特点。 首先,我们需要了解下拉菜单的...

    无限极列表展示 包含数据库连接 增删改查

    无限极列表相关增删改查 PHP+HTML 实现 无 框架

    jquery无限极复选框下拉树

    总结,"jquery无限极复选框下拉树"是一个基于jQuery和layui的交互式组件,它结合了复选框、下拉菜单和无限级树结构,提供了全选/单选功能,适用于需要展现和操作层次数据的场景。通过理解和运用这些知识点,开发者...

    jquery插件的无限极下拉菜单

    在网页设计中,交互性和用户体验是至关重要的因素之一,而无限极下拉菜单则是提升这方面体验的有效手段。jQuery,作为一款强大的JavaScript库,为开发者提供了丰富的API和工具,使得实现这种无限级下拉菜单变得相对...

    VUE世界城市四级联动下拉组件.rar

    这是一套VUE全家桶的Demo里面有数据来源,和JS代码,4级联动下拉组件,可以随意更改,可二次开发无限极联动。

    C#ASP.NET客户自定义报表管理系统源码数据库 SQL2008源码类型 WinForm

    ASP.NET客户自定义报表管理系统源码 主要模块有: 1.数据库管理:数据库信息配置、备份、还原、下载等 2.用户管理:增删改查用户信息,分配审核权限和操作报表权限 3.菜单节点管理:定义、修改、删除菜单信息,...

    ASP.net c# 无限极树菜单

    通过研究提供的源代码,开发者不仅可以学习如何实现无限极树菜单,还能掌握ASP.NET和C#在数据绑定、数据库交互以及前端展示方面的技巧,这对于提升Web开发能力非常有帮助。同时,由于项目使用了较旧的SQL Server ...

    jQuery无限极多级导航下拉菜单.zip

    【jQuery无限极多级导航下拉菜单】是一个基于JavaScript库jQuery设计的网页导航组件,它主要应用于网站头部,提供一种高效、美观的方式来展示网站的层级结构。这种菜单系统能够实现无限级别的下拉展开效果,使得用户...

    无限极下拉菜单

    无限极下拉菜单是一种常见的网页交互设计,常用于网站导航或层级数据展示,例如在电商网站的分类菜单中。这种菜单允许用户通过无限层级的展开和收起来探索深度结构的内容,提供了一种高效且直观的浏览方式。本文将...

    无限级下拉菜单(ASPAJAXJS)

    无限级下拉菜单是一种在网页设计中常见的交互元素,它允许用户从多个嵌套的下拉选项中选择,尤其适用于组织结构复杂或者分类层级较多的情况。在这个“无限级下拉菜单(ASPAJAXJS)”的项目中,我们可能会看到如何结合...

    通用无限极下拉菜单的实现代码_.docx

    通用无限极下拉菜单的实现代码 通用无限极下拉菜单是指可以实现无限级菜单的下拉菜单系统,而不需要对每个项目都从新编写代码。本文将介绍通用无限极下拉菜单的实现代码,包括HTML、CSS和JavaScript代码。 通用...

    AJAX无限级联动菜单

    **AJAX无限级联动菜单**是一种常见的Web交互技术,它基于ASP.NET框架,结合AJAX(Asynchronous JavaScript and XML)和ACCESS数据库实现。这个技术的主要目的是提供用户友好的界面,通过异步方式加载数据,无需刷新...

    城市5级联动和无限极联动MySql表,直接导入,可精确得到街道办

    全网最详细的省市区数据库 ,五级联动,2021年最新整理!

    C#TreeView多种样式,结合数据库,无限极目录树

    在.NET Framework中,C#的TreeView控件是一个强大的可视化组件,用于展示层次结构的数据,比如文件系统、组织结构或数据库中的数据。在这个特定的案例中,我们关注的是如何利用C#来实现一个结合数据库的无限极目录树...

    category:省市联动,无限极分类下拉选择插件

    省市联动,无限极分类下拉选择插件 简介 无限极分类下拉选择插件,经历数个版本,最初使用的jquery bind函数绑定select标签onchange事件。 当前版本使用jquery delegate 方式进行事件处理,代码得到了大大的精简。 ...

    jsp与servelt小应用 增删改查 一个小网站

    在这个项目中,我们探讨了如何使用JavaServer Pages (JSP) 和Servlet技术来构建一个小型的管理信息系统,实现了基本的数据操作功能——增(Add)、删(Delete)、改(Modify)和查(Query)。JSP和Servlet是Java Web...

Global site tag (gtag.js) - Google Analytics