<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    處理動態的二級聯動菜單,宗旨,通過ajax異步提交,將通過java業務處理(一些getxx的業務處理方法就省略了)的聯動數據,再通過ajax塞到jsp里

    showSubSpace.jsp:接收數據顯示聯動效果,這個頁面需要初始化自動加載JS  <body onload="showSubSpace()">  *** </body>
    findallSpace.tag:部署在WEB-INF/tags/下,即通過標記文件來獲取板塊信息,初始化頁面信息
    showSubSpace.js:異步提交,用來響應JSP中異步發起請求的,也是ajax-base.js的應用。負責將數據塞到頁面
    ajax-base.js:ajax框架
    ShowSubSpaceServlet.java:獲取后臺數據

    show.jsp
    <%@ page language="java"  pageEncoding="utf-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="mytag" tagdir="/WEB-INF/tags/" %>

    <!-- 刪除二級版塊操作區-->
                    
    <div class="delete_first_conker" id="operate2"  style="display:none">
                    
    <form action="deletesecondconker.do">
                        
    <table class="delete_firstconker_table" cellpadding="0" cellspacing="0">
                        
    <tr>
                            
    <td class="fronttd"></td>
                            
    <td class="centertd"></td>
                            
    <td class="lasttd"></td>
                        
    </tr>
                        
    <tr>
                            
    <td class="fronttd">一級版塊</td>
                            
    <td class="centertd">                        
                            
    <select name="superSpaceId" style="width:150px;" id="firstSpace" onchange="showSubSpace()">
                                
    <mytag:findallSpace/>
                                
    <c:forEach items="${first}" var="f">
                                      
    <option value="${f.id }" >${f.name}</option>
                                  
    </c:forEach>
                            
    </select>
                            
    </td>
                            
    <td class="lasttd">*請選擇一級版塊</td>
                        
    </tr>
                        
                        
    <tr>
                            
    <td class="fronttd">二級版塊</td>
                            
    <td class="centertd" id="subSpaceSelect">                        
                            
                            
    </td>
                            
    <td class="lasttd">*請選擇二級版塊</td>
                        
    </tr>    
                        
                        
    <tr>
                            
    <td class="fronttd"></td>
                            
    <td class="centertd"><input type="image" src="images/button/delete_board.JPG" /></td>
                            
    <td class="lasttd"></td>
                        
    </tr>
                        
    <tr>
                            
    <td class="fronttd"></td>
                            
    <td class="centertd"></td>
                            
    <td class="lasttd"></td>
                        
    </tr>
                        
    </table>                
                    
    </form>
                
    </div>

    findallSpace.tag
    <%@ tag body-content="empty" %>
    <%@ tag import="com.handson.bbs.model.*,java.util.*,com.handson.bbs.bo.SpaceBO" %>
    <%    
        SpaceBO spaceBo 
    = SpaceBO.getInstance();
        List
    <Space> first = spaceBo.getFirstSpace();
        request.setAttribute(
    "first",first);
      
    %>

    showSubSpace.js
        function $(id){
            
    return document.getElementById(id);
        }

            
        
    function showSubSpace() {
            
    var superSpaceId = document.getElementById('firstSpace').value;
            
    var url = 'showsubspace.do?superSpaceId=+ superSpaceId + '&timstamp=+ new Date().getTime();
            
    //var url = 'showsubspace.do';
            var ajaxService = new AjaxRequest(url, function(xmlRequest) {
                
    var resp = xmlRequest.responseText;    
                $(
    "subSpaceSelect").innerHTML = resp;
                }
    "GET");
            
    //encodeURIComponent or encodeURI
            //ajaxService.content = "superSpaceId=" + superSpaceId;
            ajaxService.send();
        }

    ajax-base.js
    /**
    * My AJAX service supported base lib
    * Author: Gavin.lee
    * Date: 23/07/2007
    */


    /**
    * AjaxRequest is used to send request based on xml http
    * URL: the url of request
    * callback: the callback function to process response xml http request
    * method: GET/POST, default value is POST, it can be ignored.
    */


    /*
    // for example:
        function checkUser() {
            var username = document.getElementById("username").value;
            var url = 'ajax.do?method=checkUser&username=' + username;
            var ajaxService = new AjaxRequest(url, function(xmlRequest) {
                var msgDiv = document.getElementById("msgDiv");
                alert(xmlRequest.responseText);
                msgDiv.innerHTML = xmlRequest.responseText;
            });
            ajaxService.send();
        }
    */


    function $(id){
        
    return document.getElementById(id);
    }

    function AjaxRequest(URL, callback, method) {
        
    this.URL = "";
        
    this.method = "POST";
        
    this.async = true;
        
    this.content = null;
        
    this.callback = function(xmlObj) {}
        
    var xmlHttpRequest;
        
    var objSelf = this;
        
        
    if(URL) {
            
    this.URL = URL;
        }

        
    if(callback) {
            
    this.callback = callback;
        }

        
    if(method) {
            
    this.method = method;
        }

        
        
    if (window.XMLHttpRequest) // Non-IE browser
            xmlHttpRequest = new XMLHttpRequest();
        }
     else if (window.ActiveXObject) // IE
            xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }

        
        
    if (xmlHttpRequest) {
            xmlHttpRequest.onreadystatechange 
    = function() {
                
    if(xmlHttpRequest.readyState == 4//server complete
                    if(xmlHttpRequest.status == 200// OK response
                        objSelf.callback(xmlHttpRequest);
                    }
     else {
                        alert(
    "XMLHttpRequest problem: " + xmlHttpRequest.statusText);
                    }

                }

               }
    ;
        }

            
        
    this.send = function() {
            
    if(!this.method || !this.URL || !this.async) {
                
    return;
            }

            
            
    try {
                  xmlHttpRequest.open(
    this.method, this.URL, this.async);
                
    if(this.method.toUpperCase() == 'POST') {
                    xmlHttpRequest.setRequestHeader(
    "Content-Type""application/x-www-form-urlencoded");
                }

                xmlHttpRequest.send(
    this.content);
             }
     catch (e) {
                alert(
    "XMLHttpRequest problem: " + e);
              }

        }
    ;
    }


    ShowSubSpaceServlet.java web.xml中需要對此進行映射,呵,這個就不啰嗦了。
    package com.handson.bbs.servlet;

    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import com.handson.bbs.bo.SpaceBO;
    import com.handson.bbs.model.Space;
    public class ShowSubSpaceServlet extends BaseServlet 
    {
        public 
    void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException 
    {

            response.setContentType(
    "text/html");
            String superSpaceId 
    = request.getParameter("superSpaceId");
            List
    <Space> subSpaceList = new ArrayList<Space>();
            SpaceBO spaceBo 
    = SpaceBO.getInstance();
            subSpaceList 
    = spaceBo.findSpaceBySpuerId(Integer.parseInt(superSpaceId));
            request.setAttribute(
    "subSpaceList", subSpaceList);
            
    this.forward(request, response, "/showSubSpace.jsp");
        }

        public 
    void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException 
    {
            
    this.doGet(request, response);
        }

    }


    評論

    # re: 二級聯動菜單(jsp + jstl + tag + ajax + servlet + 業務處理)[未登錄]  回復  更多評論   

    2013-05-13 15:45 by 嘿嘿
    分公司登記費給大家
    主站蜘蛛池模板: 免费国产在线观看老王影院| 亚洲午夜av影院| 美景之屋4在线未删减免费| 久久久无码精品亚洲日韩软件 | 亚洲三区在线观看无套内射| 久久精品一本到99热免费| 亚洲国产精品ⅴa在线观看| 国产性爱在线观看亚洲黄色一级片| 最近2019中文字幕免费大全5 | 久久青草国产免费观看| 久久久久亚洲国产| 国产V亚洲V天堂无码久久久| 久久电影网午夜鲁丝片免费| a级毛片黄免费a级毛片| 亚洲精品成a人在线观看夫| 亚洲成色在线综合网站| 四虎在线播放免费永久视频 | 老司机精品视频免费| 亚洲午夜精品久久久久久人妖| 国产高清免费的视频| 99re免费99re在线视频手机版| 黄色片网站在线免费观看| 亚洲成a人片7777| 亚洲精品夜夜夜妓女网| 日本一道本高清免费| 国产精品色拉拉免费看| 成全在线观看免费观看大全| 亚洲成av人片在线天堂无| 亚洲综合婷婷久久| 亚洲欭美日韩颜射在线二| 免费a级毛片无码a∨性按摩| 无码国产精品一区二区免费I6| 免费一级毛片无毒不卡| japanese色国产在线看免费| 丰满亚洲大尺度无码无码专线| 亚洲熟妇av一区二区三区下载| 亚洲精品国产成人片| 亚洲男人第一无码aⅴ网站| 国产又大又长又粗又硬的免费视频| 色片在线免费观看| 最近2018中文字幕免费视频|