网上看到一些例子,对于一个简单的三级联动,都加上什么Struts, Hibernate诸如此类的框架。这个Ajax联动殊不知和这些框架有什么关系,一个小Demo干嘛整得那么大。
今天我做了一个dwr+jsp做的例子。
web.xml:
复制代码 代码如下:
<?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">
<servlet>
<servlet-name>dwr-invoker</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>
<servlet-name>SelectServlet</servlet-name>
<servlet-class>com.action.SelectServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SelectServlet</servlet-name>
<url-pattern>/select</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
dwr.xml:
复制代码 代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting
2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<!-- 没有它DWR什么也做不了 -->
<allow>
<create creator="new" javascript="menu">
<param name="class" value="com.dao.CountryDAO" />
</create>
<!-- 要转换的Bean -->
<convert converter="bean" match="com.vo.Country" />
<convert converter="bean" match="com.vo.Province" />
<convert converter="bean" match="com.vo.City" />
</allow>
</dwr>
test.jsp:
复制代码 代码如下:
<%@ page language="java" import="java.util.*,com.vo.*"
pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<html>
<head>
<title>DWR三级联动</title>
<script type='text/javascript'
src='/mutiplyMenu/dwr/interface/menu.js'></script>
<script type='text/javascript' src='/mutiplyMenu/dwr/engine.js'></script>
<script type='text/javascript' src='/mutiplyMenu/dwr/util.js'></script>
</head>
<body>
<script type="text/javascript">
//根据国家id查询所属省或州
function queryProvince()
{
var countryId = $("country").value;
//默认为不选择
if(countryId == 0)
{
${"province"}.options.length=0;
${"city"}.options.length=0;
}
else
{
menu.queryProvinceById(countryId,provinceCallback);
}
}
//根据国家id查询所属省或州的回调函数
function provinceCallback(provinces)
{
${"province"}.options.length=0;
//每次获得新的数据的时候先把每二个下拉框架的长度清0
for(var i=0;i< provinces.length;i ++){
var value = provinces[i].id;
var text = provinces[i].provinceName;
var option = new Option(text, value);
//根据每组value和text标记的值创建一个option对象
try{
$("province").add(option);//将option对象添加到第二个下拉框中
}catch(e){
}
}
//同时关联第三级
var provinceId = ${"province"}.value;
menu.queryCityById(provinceId,cityCallback);
}
//查询所属城市
function queryCity()
{
var provinceId = $("province").value;
menu.queryCityById(provinceId,cityCallback);
}
//查询所属城市回调函数
function cityCallback(citys)
{
//每次获得新的数据的时候先把每三个下拉框架的长度清0
${"city"}.options.length=0;
for(var i=0;i< citys.length;i ++){
var value = citys[i].id;
var text = citys[i].cityName;
var option = new Option(text, value);
//根据每组value和text标记的值创建一个option对象
try{
$("city").add(option);//将option对象添加到第三个下拉框中
}catch(e){
}
}
}
function change1()
{
queryProvince();
}
function change2()
{
queryCity();
}
</script>
<div align="center">
<h3>
<br>
</h3>
<h3>
DWR三级联动演示
</h3>
<!-- 我都奇怪了,我的<c>标签在这里不能用 -->
<select id="country" onchange="change1();">
<option selected="selected" value="0">
请选择
</option>
<%
@SuppressWarnings("unchecked")
List list = (List) request.getAttribute("countrys");
for (int i = 0; i < list.size(); i++)
{
Country temp = (Country) list.get(i);
%>
<option value="<%=temp.getId()%>"><%=temp.getCountryName()%></option>
<%
}
%>
</select>
<select id="province" onchange="change2();">
</select>
<select id="city">
</select>
</div>
</body>
</html>
servlet,dao就不帖了,想了解的可以去下载源码
相关推荐:
“只能写作”:在创作的世界里,选择文字,就是选择自由,云南关键词排名推广报价
SEO而且:打造高效网站流量增长的秘密武器,滨江网站推广营销
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
seo链接有什么用,seo外链是什么意思 ,one ai写作
seo需要会什么,seo要会些什么 ,ai313414919
SEO搜索关键词是什么意思?全方位解析关键词优化的核心要素,lol ai图片
SEO优化排-打造高效的网络营销利器,精神AI
Chatget免费网站版无需登录,畅享无限对话体验!,工业 Ai 视觉检测
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
为什么“360收录”是你网站推广的必备利器,seo亚马逊
文字写作AI生成工具:让创作更简单、更高效
文章缩写AI:高效编辑的未来之光
SEO组织:让您的网站流量倍增的秘密武器,seo 绩效标准
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
seo网络培训是什么,seo工作培训会培训啥 ,ai长投影字
SEO优:让网站流量和排名实现飞跃的秘诀,大理哪有企业网站建设
SEO是如何推动企业增长的关键力量,深圳罗湖网站建设设计
《收录情况:数字时代的网络信息检索与价值体现》,山东全域营销推广软件客服电话
seo要会些什么,seo需要学些什么内容 ,轻盈ai
OpenAI网站崩溃原因:背后的技术与挑战,千牛Ai智投在哪里找
AI搜索相似文章怎么做?揭秘高效文章检索的核心技术!,程式ai软件
SEO合同:确保您网站优化成功的关键保障,微博营销推广规则最新
seo规范是什么,seo行业标准 ,啊龙ai音乐
seo管理系统是什么,seo网站管理 ,过度圆ai
AI人工智能:开发与应用的必备软件推荐
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
什么是亚马逊seo策略,亚马逊的seo推广是什么 ,天天学术ai写作优惠券
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
ChatGPT为什么网址打不开?原因分析与解决方法,文档审核ai
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
ChatGPT对于大数据发展的帮助:赋能行业变革,推动智能化未来,ai写作真的好吗
seo软件工具,seo软件是什么 ,AI妆容
求一个AI软件,彻底改变你的工作与生活!
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载
SEO教育:搜索引擎优化,开启成功职业之路,搜狗SEO排名接单
seo都有什么意思,seo 啥意思 ,ai园林
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
seo要学什么技术,seo要学什么技术好 ,ai.fale
SEO很多,如何在竞争激烈的市场中脱颖而出?,在SEO优化中
seo网站编辑是做什么,seo网站编辑可在家兼职 ,ai慢直播
seo独立站是什么,独立站推广是什么 ,ai曲线笔刷扩展
用AI修改文章,提升写作效率与质量的新时代
什么是seo推广找行者SEO,seo推广效果怎么样 ,西宁ai万词霸屏系统
AI工具汇总网站,让科技为您的工作加速
OpenPose大白话解释:让你轻松理解姿态识别的神奇技术,ai天天晴
ChatGPT的破解版:AI世界的新突破,ai无禁忌
AI助手推进:智能化时代的企业革命,ai改变图片颜色
好用的人工智能AI软件推荐,让你的生活更智能!
SEO站内优化:提升网站排名的核心策略,厦门市网站优化企业