• JSP & EL & JSTL


    JSP

    指令

    # 作用:用于配置 JSP 页面,导入资源文件

    # 格式<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %>

    # 分类
      1)page:配置 JSP 页面
        * contentType:等同于response.setContentType()
          ① 设置响应体的 MIME 类型和字符集
          ② 设置当前 JSP 页面的编码(如果使用低级的开发工具,字符集需要通过pageEncoding属性来设置)
        * import:导包
        * errorPage:当前页面发生异常后,自动跳转到某一指定的页面
        * isErrorPage:标识当前页是否为错误页面
          * true:是错误页面,可以使用内置对象 exception
          * false:不是错误页面,默认值。不可以使用内置对象 exception

      2)include:导入页面的资源文件
        * 如:<%@include file="top.jsp"%>

      3)taglib:导入资源
        * 如:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
          * prefix:前缀,自定义的

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page isErrorPage="true" errorPage="index.jsp" %>
    <%@ page import="java.math.BigDecimal" %>
    <%@ taglib prefix="" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/xml" %>
    <html>
    <head>
        <title>$Title$</title>
    </head>
    <body>
    <h1>服务器正忙。。。</h1>
    
    <%
        String message = exception.getMessage();
        out.print(message);
    %>
    
    
    </body>
    </html>
    View Code 

    注释

    # HTML注释
      * <!-- -->只能注释 HTML代码片段,被注释的内容会发送到 response响应体中

    # JSP注释:推荐使用
      * <%-- --%>可以注释所有,不会发送到响应体中

    内置对象

    # 在 JSP页面中不需要创建,可以直接使用的对象

    # 一共9个

    变量名  真实类型  作用 
    pageContext   PageContext  当前页面共享数据,还可以获取其他 8个内置对象 
     request  HttpServletRequest   一次请求访问多个资源(转发) 
     session   HttpSession  一次会话的多个请求间共享数据 
     application ServletContext  所有用户间共享数据 
     response HttpServletResponse   响应对象 
     page Object  当前页面(Servlet)的对象,类似 this引用
     out JspWriter  输出对象,把数据输出到页面上 
     config ServletConfig  Servlet的配置对象 
     exception Throwable  异常对象 

    MVC 开发模式

    # JSP演变历史
      1)早期只有 Servlet,只能使用 Response输出标签数据,非常麻烦
      2)后来有了 JSP,简化了 Servlet的开发。但是,过度使用 JSP,会造成难以维护,难以分工的困局
      3)再后来,Java的 Web开发,借鉴了 MVC开发模式,使得程序的设计更加的合理

    <%@ page language="java" import="java.util.*" pageEncoding="GB18030" %>
    <%@ page import="com.bjsxt.shopping.category.*" %>
    
    <%!
        private List<Category> getTopCategories(List<Category> categories) {
            List<Category> topCategories = new ArrayList<Category>();
            for (int i = 0; i < categories.size(); i++) {
                Category c = categories.get(i);
                if (c.getGrade() == 1) {
                    topCategories.add(c);
                }
            }
            return topCategories;
        }
    
        private List<Category> getChilds(Category parent, List<Category> categories) {
            List<Category> childs = new ArrayList<Category>();
            for (int i = 0; i < categories.size(); i++) {
                Category c = categories.get(i);
                if (c.getPid() == parent.getId()) {
                    childs.add(c);
                }
            }
            return childs;
        }
    
        private String getChildsStr(List<Category> childs) {
            StringBuffer buf = new StringBuffer();
            for (int i = 0; i < childs.size(); i++) {
                Category c = childs.get(i);
                buf.append("<a href='ShowProducts.jsp?categoryId=" + c.getId() + "'>")
                        .append(c.getName()).append("</a>")
                        .append("-");
            }
            return buf.toString();
        }
    %>
    
    <%
        List<Category> categories = CategoryService.getInstance().getCategories();
        List<Category> topCategories = getTopCategories(categories);
    %>
    <html>
    <head>
        <me content="zh-cn"></me>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>商城 - 网上精品会员店</title>
        <link href="images/new.css" rel="stylesheet" type="text/css">
        <script language="javascript1.2">
            function js_callpage(htmlurl) {
                var newwin = window.open(htmlurl, '', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,top=2,width=360,height=470');
                return false;
            }
    
            function js_callpage1(htmlurl) {
                var newwin = window.open(htmlurl, '', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=2,width=100,height=100');
                return false;
            }
        </script>
        <script language="JavaScript">
            function MM_swapImgRestore() { //v3.0
                var i, x, a = document.MM_sr;
                for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
            }
    
            function MM_preloadImages() { //v3.0
                var d = document;
                if (d.images) {
                    if (!d.MM_p) d.MM_p = new Array();
                    var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
                    for (i = 0; i < a.length; i++)
                        if (a[i].indexOf("#") != 0) {
                            d.MM_p[j] = new Image;
                            d.MM_p[j++].src = a[i];
                        }
                }
            }
    
            function MM_findObj(n, d) { //v4.01
                var p, i, x;
                if (!d) d = document;
                if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
                    d = parent.frames[n.substring(p + 1)].document;
                    n = n.substring(0, p);
                }
                if (!(x = d[n]) && d.all) x = d.all[n];
                for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
                for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
                if (!x && d.getElementById) x = d.getElementById(n);
                return x;
            }
    
            function MM_swapImage() { //v3.0
                var i, j = 0, x, a = MM_swapImage.arguments;
                document.MM_sr = new Array;
                for (i = 0; i < (a.length - 2); i += 3)
                    if ((x = MM_findObj(a[i])) != null) {
                        document.MM_sr[j++] = x;
                        if (!x.oSrc) x.oSrc = x.src;
                        x.src = a[i + 2];
                    }
            }
    
            function on_trview(trname, enforce) {
    
                <%
                for(int i=0; i<topCategories.size(); i++) {
                    Category c = topCategories.get(i);    
                %>
                document.all.pma_<%=c.getId()%>.style.display = "none";
                <%
                }
                %>
    
    
                if (enforce == "in") {
                    eval("document.all.pma_" + trname + ".style.display=''");
                    //eval("alert()");
                    //ruby on rails
                }
                /*
                else
                {
                    var pma_code,pma_serial;
                    pma_code="";
                    if (pma_code!="") /////////////二级分类默认打开层
                    {
                        if (pma_code=="21"){pma_serial=0;}
                        if (pma_code=="5"){pma_serial=1;}
                        if (pma_code=="4"){pma_serial=2;}
                        if (pma_code=="2"){pma_serial=3;}
                        if (pma_code=="20"){pma_serial=4;}
                        if (pma_code=="22"){pma_serial=5;}
                        if (pma_code=="12"){pma_serial=6;}
                        if (pma_code=="3"){pma_serial=7}
                        if (pma_code=="8"){pma_serial=8;}
                        if (pma_code=="24"){pma_serial=9;}
                        if (pma_code=="23"){pma_serial=10;}
                        if (pma_code=="1"){pma_serial=11;}
                        if (pma_code=="26"){pma_serial=12;}
                        if (pma_serial!="")
                        {
                            eval("document.all.pma_"+pma_serial+".style.display=''");
                            eval("MM_swapImage('images"+pma_serial+"','','images/0"+pma_serial+"-2.gif',1)");
                        }
                    }
                    
                }
                */
            }
    
    
            function MM_reloadPage(init) {//reloads the window if Nav4 resized
                if (init == true) with (navigator) {
                    if ((appName == "Netscape") && (parseInt(appVersion) == 4)) {
                        document.MM_pgW = innerWidth;
                        document.MM_pgH = innerHeight;
                        onresize = MM_reloadPage;
                    }
                }
                else if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH) location.reload();
            }
    
            MM_reloadPage(true);
    
            function MM_showHideLayers() { //v6.0
                var i, p, v, obj, args = MM_showHideLayers.arguments;
                for (i = 0; i < (args.length - 2); i += 3) if ((obj = MM_findObj(args[i])) != null) {
                    v = args[i + 2];
                    if (obj.style) {
                        obj = obj.style;
                        v = (v == 'show') ? 'visible' : (v == 'hide') ? 'hidden' : v;
                    }
                    obj.visibility = v;
                }
            }
        </script>
        <script language="JavaScript">
            var imgUrl = new Array();
            var imgLink = new Array();
            var imgTitle = new Array();
            var imgPrice1 = new Array();
            var imgPrice2 = new Array();
            var adNum = 0;
            imgUrl[1] = 'http://www.thinkshop.cn/pimages/br0465.gif';
            imgLink[1] = 'index_pi.php?productcode=BR0465';
            imgTitle[1] = '贝尔金家用笔记本电脑便携袋(银色,膝上型)';
            imgPrice1[1] = '价格:¥339.00';
            imgPrice2[1] = '会员价格:¥319.00';
            imgUrl[2] = 'http://www.thinkshop.cn/pimages/br0461.gif';
            imgLink[2] = 'index_pi.php?productcode=BR0461';
            imgTitle[2] = '贝尔金家用笔记本电便携袋(橙色,手提型)';
            imgPrice1[2] = '价格:¥339.00';
            imgPrice2[2] = '会员价格:¥319.00';
            imgUrl[3] = 'http://www.thinkshop.cn/pimages/gt1176.gif';
            imgLink[3] = 'index_pi.php?productcode=GT1176';
            imgTitle[3] = '贝尔金家用笔记本便携内袋(银)';
            imgPrice1[3] = '价格:¥369.00';
            imgPrice2[3] = '会员价格:¥359.00';
            imgUrl[4] = 'http://www.thinkshop.cn/pimages/gt0873.gif';
            imgLink[4] = 'index_pi.php?productcode=GT0873';
            imgTitle[4] = '3M 14.1 电脑防窥片';
            imgPrice1[4] = '价格:¥459.00';
            imgPrice2[4] = '会员价格:¥449.00';
            var imgPre = new Array();
            var j = 0;
            for (i = 1; i < imgUrl.length; i++) {
                if ((imgUrl[i] != "") && (imgLink[i] != "")) {
                    j++;
                } else {
                    break;
                }
            }
    
            function playTran() {
                if (document.all)
                    imgInit.filters.revealTrans.play();
            }
    
            var key = 0;
    
            function nextAd() {
                if (adNum < j) adNum++;
                else adNum = 1;
    
                if (key == 0) {
                    key = 1;
                } else if (document.all) {
                    imgInit.filters.revealTrans.Transition = 10;
                    imgInit.filters.revealTrans.apply();
                    playTran();
                }
                document.images.imgInit.src = imgUrl[adNum];
                document.images.imgInit.title = imgTitle[adNum];
                img_title.innerHTML = '<font color=#FFFFff>' + imgTitle[adNum] + '</font>';
                img_price1.innerHTML = imgPrice1[adNum];
                img_price2.innerHTML = imgPrice2[adNum];
                theTimer = setTimeout("nextAd()", 6000);
            }
    
            function goUrl() {
                jumpUrl = imgLink[adNum];
                jumpTarget = '_blank';
                if (jumpUrl != '') {
                    if (jumpTarget != '')
                        window.open(jumpUrl, jumpTarget);
                    else
                        location.href = jumpUrl;
                }
            }
        </script>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <link href="images/new.css" rel="stylesheet" type="text/css">
    </head>
    <body onLoad="MM_preloadImages('images/00-2.gif','images/01-2.gif','images/02-2.gif','images/03-2.gif','images/04-2.gif','images/05-2.gif','images/06-2.gif','images/07-2.gif','images/08-2.gif','images/09-2.gif')">
    <script src="images/piaochuang.js"></script>
    <table align="left" border="0" cellpadding="0" cellspacing="0" width="980">
        <tbody>
        <tr>
            <td><!--显示头部信息程序-->
                <table style="border-collapse: collapse;" border="0" cellpadding="0" cellspacing="0" width="100%">
                    <tbody>
                    <tr>
                        <td width="10"></td>
                        <td width="135"><a href="thinkshop.cn.htm"></a></td>
                        <td width="50"></td>
                        <td width="120"><a target="_blank" href="index_bat.php.htm"><img src="images/dazong.gif" border="0"
                                                                                         height="47" width="90"></a></td>
                        <td width="120"><a target="_blank" href="happybirthday.php.htm"><img src="images/shenri.gif"
                                                                                             border="0" height="47"
                                                                                             width="95"></a></td>
                        <td width="120"><a target="_blank" href="brandshop.php.htm"><img src="images/pingpai.gif" border="0"
                                                                                         height="47" width="96"></a></td>
                        <td width="120"><a target="_blank" href="powered by Discuz!.htm"><img src="images/luntan.gif"
                                                                                              border="0" height="47"
                                                                                              width="95"></a></td>
                        <td width="120"><a target="_blank" href="gc.htm"><img src="images/thinkcard.gif" border="0"
                                                                              height="47" width="90"></a></td>
                        <td align="right" valign="bottom">
                            <map name="FPMap_inctop">
                                <area href="point_exg.php.htm" shape="rect" coords="13,2,81,16" target="_blank">
                                <area href="my_thinkshop.php.htm" shape="rect" coords="92, 1, 158, 15" target="_blank">
                                <area href="extend.php.htm" shape="rect" coords="170, 0, 233, 16" target="_blank">
                            </map>
                            <img src="images/top_right.gif" usemap="#FPMap_inctop" border="0" height="22" width="238"></td>
                    </tr>
                    </tbody>
                </table>
            </td>
        </tr>
        <tr>
            <td height="61">
                <table border="0" cellpadding="0" cellspacing="0" width="100%">
                    <tbody>
                    <tr>
                        <td width="6"><img src="images/left.gif" height="35" width="6"></td>
                        <td align="left" background="images/topbg.gif" valign="middle" width="897">
                            <table align="left" border="0" cellpadding="0" cellspacing="0" width="713">
                                <tbody>
                                <tr class="style1" align="center">
    
                                    <td align="left">
                                        <%
                                            for (int i = 0; i < topCategories.size(); i++) {
                                                Category c = topCategories.get(i);
                                        %>
                                        <a href="" onMouseOver="on_trview(<%=c.getId()%>,'in')">
                                            <!--<img src="images/00.gif" name="Image0" border="0">-->
                                            <span style="color:#FFFFFF"><%=c.getName()%></span>
                                        </a>
                                        <%
                                            }
                                        %>
                                    </td>
    
                                </tr>
                                </tbody>
                            </table>
                        </td>
                        <td rowspan="2" align="right" width="77"><a href="shoppingpricebuy.php.htm" target="_blank"><img
                                src="images/gouwu_new.gif" border="0" height="61" width="77"></a></td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                <tbody>
                                <tr>
                                    <td rowspan="2" bgcolor="#ededed" width="1"><img src="images/line.gif" height="1"
                                                                                     width="1"></td>
                                    <td bgcolor="#ffffff" height="1" width="850"><img src="images/line.gif" height="1"
                                                                                      width="1"></td>
                                </tr>
                                <tr>
                                    <td background="images/topbg2.gif" height="25">
                                        <table style="border-collapse: collapse;" class="twoji" border="0" cellpadding="0"
                                               cellspacing="0" width="100%">
                                            <tbody>
                                            <%
                                                for (int i = 0; i < topCategories.size(); i++) {
                                                    Category parent = topCategories.get(i);
                                                    List<Category> childs = getChilds(parent, categories);
    
                                            %>
                                            <tr id="pma_<%=parent.getId()%>" style="display: none;">
                                                <td style="position: relative; left: 0pt;" height="25" width="100%">
                                                    &nbsp;
                                                    <%=getChildsStr(childs)%>
                                                </td>
                                            </tr>
                                            <%
                                                }
                                            %>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                </tbody>
                            </table>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </td>
        </tr>
        <tr>
            <td bgcolor="#dadce8" height="1"><img src="images/line.gif" height="1" width="1"></td>
        </tr>
        <tr>
            <td>
                <table border="0" cellpadding="0" cellspacing="0" width="980">
                    <tbody>
                    <tr>
                        <td bgcolor="#ededed" width="1"><img src="images/line.gif" height="1" width="1"></td>
                        <td background="images/topbg3.gif" height="31" width="123"> </td>
                        <td align="center" background="images/topbg3.gif" width="28"><img src="images/zoom.gif" height="31"
                                                                                          width="20"></td>
                        <script>
                            function Validator_s(theForm) {
                                if (theForm.searchproducttype1.value == "all" && (theForm.searchname.value == "" || theForm.searchname.value == "请输入您所要查找的商品名称") && (theForm.searchcode.value == "" || theForm.searchcode.value == "商品编号")) {
                                    alert(" 请输入查询关键字。");
                                    theForm.searchname.focus();
                                    return (false);
                                }
                            }
                        </script>
                        <form method="post" action="product_search.php" onSubmit="return Validator_s(this)">
                        </form>
                        <td background="images/topbg3.gif" valign="middle" width="521"><input name="Bsearch" value="Y"
                                                                                              type="hidden">
                            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                <tbody>
                                <tr>
                                    <td align="left" valign="middle" width="83%"><select name="searchproducttype1"
                                                                                         style="font-size: 9pt; color: rgb(85, 85, 85);">
                                        <option selected="selected" value="all">--所有商品--</option>
                                        <option value="21">ThinkPad配件</option>
                                        <option value="5">笔记本配件</option>
                                        <option value="4">笔记本包</option>
                                        <option value="2">电脑配套</option>
                                        <option value="20">网络设备</option>
                                        <option value="22">数码专区</option>
                                        <option value="12">车载用品</option>
                                        <option value="23">AV线缆</option>
                                        <option value="3">办公文仪</option>
                                        <option value="8">商务礼品</option>
                                        <option value="24">清洁洗涤</option>
                                        <option value="26">防眩防窥</option>
                                        <option value="1">保修服务</option>
                                    </select>
                                        <input name="searchname" style="font-size: 9pt; color: rgb(85, 85, 85);"
                                               onFocus="if(this.value=='请输入您所要查找的商品名称'){this.value='';}"
                                               onBlur="if(this.value==''){this.value='请输入您所要查找的商品名称';}"
                                               value="请输入您所要查找的商品名称" size="25" maxlength="30" type="text">
                                        <input name="searchcode" style="font-size: 9pt; color: rgb(85, 85, 85);"
                                               onFocus="if(this.value=='商品编号'){this.value='';}"
                                               onBlur="if(this.value==''){this.value='商品编号';}" value="商品编号" size="8"
                                               maxlength="6" type="text">
                                        <input src="images/go.gif" style="position: relative; top: 2px;" border="0"
                                               height="17" type="image" width="20">
                                        &nbsp;<a href="index_search.php.htm"><img src="images/gaoji.gif"
                                                                                  style="position: relative; top: 3px;"
                                                                                  border="0" height="19" width="66"></a>
                                    </td>
                                    <td align="left" valign="middle" width="17%"></td>
                                </tr>
                                </tbody>
                            </table>
                        </td>
                        <td align="right" background="images/topbg3.gif" width="306">
                            <!--
                            <iframe name="buysta" src="images/buysta.htm" frameborder="0" height="14" scrolling="no" width="100%"></iframe>
                            -->
                        </td>
                        <td bgcolor="#ededed" width="1"></td>
                    </tr>
                    </tbody>
                </table>
            </td>
        </tr>
        <tr>
            <td>
                <table border="0" cellpadding="0" cellspacing="0" width="100%">
                    <tbody>
                    <tr>
                        <td valign="top" width="190">
                            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                <tbody>
                                <tr>
                                    <td>
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                            <tbody>
                                            <tr>
                                                <td onMouseOver="on_trview('0','')" align="center" height="40"><img
                                                        src="images/login.gif" height="39" width="190"></td>
                                            </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                            <tbody>
                                            <tr>
                                                <td rowspan="3" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                                <td width="176"><img src="images/loginbg1.gif" height="19" width="188"></td>
                                                <td rowspan="3" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                            </tr>
                                            <tr>
                                                <td align="center" bgcolor="#e2e4f0">
                                                    <table border="0" cellpadding="0" cellspacing="0" width="95%">
                                                        <form method="post" action="Login.jsp">
    
                                                            <tbody>
                                                            <tr>
                                                                <td align="left" height="25" width="73%">会员号:
                                                                    <input name="username" size="10"
                                                                           style="font-size: 12px;" type="text"></td>
                                                                <td rowspan="2" width="27%">
                                                                    <input src="images/down.gif" name="B1" border="0"
                                                                           height="45" type="image" width="45"></td>
                                                            </tr>
                                                            <tr>
                                                                <td align="left">密 码:
                                                                    <input name="password" size="10"
                                                                           style="font-size: 11px;" type="password"></td>
                                                            </tr>
                                                            <tr>
                                                                <td colspan="2" height="30"><p align="center">[<a
                                                                        href="Register.jsp">新用户注册</a>] &nbsp;[<a
                                                                        href="passwdview.php.htm"
                                                                        onClick="js_callpage(href);return false">忘记密码</a>]
                                                                </p></td>
                                                            </tr>
                                                            </tbody>
                                                        </form>
                                                    </table>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td bgcolor="#aab3d5" height="1"><img src="images/line.gif" height="1"
                                                                                      width="1"></td>
                                            </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                <tr>
                                    <td><img src="images/tel.gif" height="87" width="190"></td>
                                </tr>
                                <tr>
                                    <td>
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                            <tbody>
                                            <tr>
                                                <td colspan="3"><img src="images/news.gif" height="32" width="190"></td>
                                            </tr>
                                            <tr>
                                                <td rowspan="3" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                                <td align="center" bgcolor="#e2e4f0">
                                                    <table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0"
                                                           width="90%">
                                                        <tbody>
                                                        <tr>
                                                            <td align="left"> ·<a class="twoji" target="_blank"
                                                                                  href="http://www.thinkshop.cn/sales_info.php?slid=86"><font
                                                                    color="#cc0000">与舒适办公为伴,让轻松便<br>
                                                                &nbsp;携相随(04.20-04.26)</font></a>&nbsp;<img
                                                                    src="images/hot_gif.gif"><br>
                                                                ·<a class="twoji" target="_blank"
                                                                    href="http://www.thinkshop.cn/sales_info.php?slid=85">精品分呈,彰显不凡品质!</a><br>
                                                                ·<a class="twoji" target="_blank"
                                                                    href="http://www.thinkshop.cn/sales_info.php?slid=84">神奇与实用并存,星座礼物..</a><br>
                                                                ·<a class="twoji" target="_blank"
                                                                    href="http://www.thinkshop.cn/sales_info.php?slid=83">无限关爱3m优视灯关爱灯下..</a><br>
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <td align="center" height="10" valign="top"><a
                                                                    href="http://www.thinkshop.cn/sales_info.php?ef=list"><img
                                                                    src="images/more.gif" border="0" height="5" width="158"></a>
                                                            </td>
                                                        </tr>
                                                        </tbody>
                                                    </table>
                                                </td>
                                                <td rowspan="3" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                            </tr>
                                            <tr>
                                                <td bgcolor="#e2e4f0" height="8"><img src="images/line.gif" height="1"
                                                                                      width="1"></td>
                                            </tr>
                                            <tr>
                                                <td bgcolor="#aab3d5" height="1"><img src="images/line.gif" height="1"
                                                                                      width="1"></td>
                                            </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                            <tbody>
                                            <tr>
                                                <td colspan="3"><img src="images/jingcai.gif" height="32" width="190"></td>
                                            </tr>
                                            <tr>
                                                <td rowspan="3" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                                <td align="center" bgcolor="#e2e4f0">
                                                    <table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0"
                                                           width="90%">
                                                        <tbody>
                                                        <tr>
                                                            <td class="twoji" align="left">·<a class="twoji"
                                                                                               href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=85"
                                                                                               target="_blank">贝尔金成为2006网球大师杯..</a><br>
                                                                ·<a class="twoji"
                                                                    href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=84"
                                                                    target="_blank">3M手机防窥膜,特别的爱给特..</a><br>
                                                                ·<a class="twoji"
                                                                    href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=83"
                                                                    target="_blank">梁彦春出任贝尔金中国区总..</a><br>
                                                                ·<a class="twoji"
                                                                    href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=82"
                                                                    target="_blank">狂飚300M 802.11n无线路由</a><br>
                                                                ·<a class="twoji"
                                                                    href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=81"
                                                                    target="_blank">Pre-N 2代宽带无线路由器</a><br>
                                                                ·<a class="twoji"
                                                                    href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=79"
                                                                    target="_blank">金山毒霸杀毒U盘重装上阵</a><br>
                                                                ·<a class="twoji"
                                                                    href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=78"
                                                                    target="_blank">数码音频转播器真假说明</a><br>
                                                                ·<a class="twoji"
                                                                    href="http://www.thinkshop.cn/extend.php?type=file&amp;fileid=77"
                                                                    target="_blank">贝克曼清洁博士系列介绍</a><br></td>
                                                        </tr>
                                                        <tr>
                                                            <td align="center" height="10" valign="top"><a
                                                                    href="http://www.thinkshop.cn/extend.php?type=file"><img
                                                                    src="images/more.gif" border="0" height="5" width="158"></a>
                                                            </td>
                                                        </tr>
                                                        </tbody>
                                                    </table>
                                                </td>
                                                <td rowspan="3" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                            </tr>
                                            <tr>
                                                <td bgcolor="#e2e4f0" height="8"><img src="images/line.gif" height="1"
                                                                                      width="1"></td>
                                            </tr>
                                            <tr>
                                                <td bgcolor="#aab3d5" height="1"><img src="images/line.gif" height="1"
                                                                                      width="1"></td>
                                            </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                <tr>
                                    <td bgcolor="#6874bf" valign="top"><input name="qid" value="7" type="hidden">
                                        <input value="Y" name="Bsubmit" type="hidden">
                                        <table style="border-collapse: collapse;" bordercolorlight="#FF0000"
                                               bordercolordark="#FF0000" border="0" bordercolor="#111111" cellpadding="0"
                                               cellspacing="0">
                                            <script>function windowOpener0() {
                                                controlWindow = window.open('', 'thinkshop', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=100,height=100');
                                            }</script>
                                            <form action="question.php" method="post" onSubmit="windowOpener0()"
                                                  target="thinkshop">
                                            </form>
                                            <tbody>
                                            <tr>
                                                <td colspan="5"><img src="images/wen_top.gif" height="17" width="190"></td>
                                            </tr>
                                            <tr>
                                                <td rowspan="2" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                                <td rowspan="2" class="wenjuan" width="10">&nbsp;</td>
                                                <td class="twoji" bgcolor="#ffffff" height="24" width="168">
                                                    当您在公共场所使用手机收发短信时,有人正在偷看您的手机屏幕,您有何感觉?
                                                </td>
                                                <td rowspan="2" class="wenjuan" width="10">&nbsp;</td>
                                                <td rowspan="2" bgcolor="#aab3d5" width="1"><img src="images/line.gif"
                                                                                                 height="1" width="1"></td>
                                            </tr>
                                            <tr>
                                                <td bgcolor="#ffffff" height="80"><input value="22" name="qd_serial"
                                                                                         type="radio">
                                                    非常厌恶这种行为<br>
                                                    <input value="23" name="qd_serial" type="radio">
                                                    无所谓,不予理睬<br>
                                                    <input value="24" name="qd_serial" type="radio">
                                                    乐意共享我的信息<br>
                                                    &nbsp;&nbsp;&nbsp;
                                                    <input src="images/tijiao.gif" border="0" height="20" type="images"
                                                           width="60">
                                                    <a href="http://www.thinkshop.cn/question.php?qid=7&amp;Bsubmit=Y"
                                                       onClick="js_callpage(href);return false"><img
                                                            src="images/chongxie.gif" border="0" height="20" width="60"></a>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td colspan="5"><img src="images/wen_up.gif" height="30" width="190"></td>
                                            </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                </tbody>
                            </table>
                        </td>
                        <td onMouseOver="on_trview('0','')" width="10"></td>
                        <td valign="top" width="780">
                            <map name="FPMap_brand">
                                <area coords="5, 6, 65, 29" shape="rect"
                                      href="http://www.thinkshop.cn/index_pma.php?pma_code=21">
                                <area coords="75, 6, 147, 28" shape="rect" href="http://www.thinkshop.cn/brand_belkin.php">
                                <area coords="157, 7, 187, 29" shape="rect" href="http://www.thinkshop.cn/brand_3m.php">
                                <area coords="194, 6, 277, 30" shape="rect"
                                      href="http://www.thinkshop.cn/brand_logitech.php">
                                <area coords="353, 6, 417, 28" shape="rect"
                                      href="http://www.thinkshop.cn/brandshop.php?brand=%C5%B7%C4%B7%C1%FA">
                                <area coords="423, 5, 499, 29" shape="rect"
                                      href="http://www.thinkshop.cn/brandshop.php?brand=%CF%A3%B8%F1%CB%AE%C6%BF">
                                <area coords="507, 5, 597, 28" shape="rect"
                                      href="http://www.thinkshop.cn/brandshop.php?brand=%C8%F0%CA%BF%BE%FC%B5%B6">
                                <area coords="607, 6, 690, 28" shape="rect"
                                      href="http://www.thinkshop.cn/brandshop.php?brand=%B1%B4%BF%CB%C2%FC%B2%A9%CA%BF">
                                <area coords="696, 4, 774, 29" shape="rect"
                                      href="http://www.thinkshop.cn/index_catalog.php?pma_code=8&amp;cat_code=228">
                                <area coords="283, 6, 349, 28" shape="rect"
                                      href="http://www.thinkshop.cn/brandshop.php?brand=%C8%F1%BD%DD%CD%F8%C2%E7">
                            </map>
                            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                <tbody>
                                <tr>
                                    <td onMouseOver="on_trview('0','')" height="8"></td>
                                </tr>
                                <tr>
                                    <td>
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                            <tbody>
                                            <tr>
                                                <td bgcolor="#4352af" width="519">
                                                    <table style="border-collapse: collapse;" border="0"
                                                           bordercolor="#111111" cellpadding="0" cellspacing="0"
                                                           height="266" width="519">
                                                        <tbody>
                                                        <tr>
                                                            <td width="100%"><a
                                                                    style="left: 518px ! important; top: 0px ! important;"
                                                                    class="abp-objtab visible ontop"
                                                                    href="images/index_banner.swf"></a>
                                                            </td>
                                                        </tr>
                                                        </tbody>
                                                    </table>
                                                </td>
                                                <td valign="top" width="260">
                                                    <table bgcolor="#4352af" border="0" cellpadding="0" cellspacing="0"
                                                           height="100%" width="100%">
                                                        <tbody>
                                                        <tr>
                                                            <td align="right"><img src="images/newp_top.gif" height="38"
                                                                                   width="257"></td>
                                                        </tr>
                                                        <tr>
                                                            <td align="center" bgcolor="#4352af" height="98" valign="top">
                                                                <table border="0" cellpadding="0" cellspacing="0"
                                                                       width="242">
                                                                    <tbody>
                                                                    <tr>
                                                                        <td align="left" height="118" valign="middle"><span
                                                                                class="white">·<a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=GT1325"
                                                                                class="white">瑞士军刀 瑞士卡0.7100红</a><br>
                                                    ·<a href="http://www.thinkshop.cn/index_pi.php?productcode=GT1323"
                                                        class="white">3M 指示标签透明随身盒组合装(黄/蓝)</a><br>
                                                    ·<a href="http://www.thinkshop.cn/index_pi.php?productcode=GT1319"
                                                        class="white">德国贝克曼博士助洗去污剂100克*2装</a><br>
                                                    ·<a href="http://www.thinkshop.cn/index_pi.php?productcode=BR0472"
                                                        class="white">贝尔金无线迷你小鹰+贝尔金护腕式鼠标..</a><br>
                                                    ·<a href="http://www.thinkshop.cn/index_pi.php?productcode=GT1318"
                                                        class="white">欧姆龙905计步器</a><br>
                                                    ·<a href="http://www.thinkshop.cn/index_pi.php?productcode=BR0470"
                                                        class="white">贝尔金伸缩式AV视听线(黑色)</a><br>
                                                    </span></td>
                                                                    </tr>
                                                                    </tbody>
                                                                </table>
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <td align="center" bgcolor="#4352af">
                                                                <table background="images/242-98.gif" border="0"
                                                                       cellpadding="0" cellspacing="0" width="242">
                                                                    <tbody>
                                                                    <tr>
                                                                        <td align="center" height="98" width="138">
                                                                            <table style="border-collapse: collapse;"
                                                                                   border="0" bordercolor="#111111"
                                                                                   cellpadding="0" cellspacing="0"
                                                                                   width="90%">
                                                                                <tbody>
                                                                                <tr>
                                                                                    <td align="left" height="40"><strong><a
                                                                                            href=""
                                                                                            onClick="return false"><span
                                                                                            id="img_title"
                                                                                            onClick="javascript:goUrl()"></span></a></strong>
                                                                                    </td>
                                                                                </tr>
                                                                                <tr>
                                                                                    <td align="left"><p class="white"><span
                                                                                            id="img_price1"></span><br>
                                                                                        <span id="img_price2"></span></p>
                                                                                    </td>
                                                                                </tr>
                                                                                </tbody>
                                                                            </table>
                                                                        </td>
                                                                        <td align="center" height="98" valign="middle"
                                                                            width="104"><span onClick="javascript:goUrl()"
                                                                                              style=""> <img
                                                                                src="images/br0465.gif" id="imgInit"
                                                                                style="border-color: black; color: rgb(0, 0, 0);"
                                                                                name="imgInit" border="0" height="90"
                                                                                width="75"></span></td>
                                                                    </tr>
    
                                                                    </tbody>
                                                                </table>
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <td align="right"><img src="images/newp_up.gif" height="12"
                                                                                   width="260"></td>
                                                        </tr>
                                                        </tbody>
                                                    </table>
                                                </td>
                                            </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                            <tbody>
                                            <tr>
                                                <td width="584" valign="top">
                                                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                                        <tbody>
                                                        <tr>
                                                            <td width="10"></td>
                                                            <td width="553" valign="top">
    
    
                                                                <table border="0" cellpadding="0" cellspacing="0"
                                                                       width="553">
                                                                    <tbody>
    
                                                                    <%
                                                                        for (int i = 0; i < topCategories.size(); i += 2) {
                                                                            Category first = topCategories.get(i);
                                                                            Category second = null;
                                                                            if ((i + 1) < topCategories.size()) {
                                                                                second = topCategories.get(i + 1);
                                                                            }
                                                                    %>
                                                                    <tr>
                                                                        <td width="47%">
                                                                            <a href="">
                                                                                <%=first.getName() %>
                                                                            </a>
                                                                        </td>
                                                                        <td width="7%"></td>
                                                                        <td width="46%">
                                                                            <a href="">
                                                                                <%=second == null ? "" : second.getName() %>
                                                                            </a>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td class="twoji">
                                                                            <%=getChildsStr(getChilds(first, categories))%>
                                                                        </td>
                                                                        <td> </td>
                                                                        <td class="twoji">
                                                                            <%=second == null ? "" : getChildsStr(getChilds(second, categories))%>
                                                                        </td>
                                                                    </tr>
                                                                    <%
                                                                        }
                                                                    %>
                                                                    </tbody>
                                                                </table>
                                                            </td>
                                                            <td width="20"></td>
                                                        </tr>
                                                        </tbody>
                                                    </table>
                                                </td>
                                                <td align="right" valign="top" width="196">
                                                    <table border="0" cellpadding="0" cellspacing="0" width="196">
                                                        <tbody>
                                                        <tr>
                                                            <td><img src="images/paihang_top.gif" height="88" width="196">
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <td align="center" background="images/paihang_bg.gif">
                                                                <table style="border-collapse: collapse;" border="0"
                                                                       cellpadding="0" cellspacing="0" width="170">
                                                                    <tbody>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=GT1025"
                                                                                class="twoji"
                                                                                title="贝尔金护腕式鼠标垫">贝尔金护腕式鼠标垫</a></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_03.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=GT0855"
                                                                                class="twoji" title="3M 屏幕及键盘清洁套装">3M
                                                                            屏幕及键盘清洁套装</a></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=GT0856"
                                                                                class="twoji" title="3M 可调节笔记本底座-立式">3M
                                                                            可调节笔记本底座-立式</a></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=BR0235"
                                                                                class="twoji" title="贝尔金车载电源(车载交流供电器 300W)">贝尔金车载电源(车载交流..</a>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=GT0794"
                                                                                class="twoji" title="3M 思高拭亮(擦拭屏幕)IT包装">3M
                                                                            思高拭亮(擦拭屏幕)IT..</a></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=BR0010"
                                                                                class="twoji" title="贝尔金全球通插座适配器">贝尔金全球通插座适配器</a>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=BR0236"
                                                                                class="twoji"
                                                                                title="贝尔金车载电源(车载交流供电器 150W新款)">贝尔金车载电源(车载交流..</a>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=BR0402"
                                                                                class="twoji" title="3M爽洁清洁泡+3M思高拭亮(大块)">3M爽洁清洁泡+3M思高拭亮..</a>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=BR0013"
                                                                                class="twoji"
                                                                                title="贝尔金笔记本USB2.0 2口PCMCIA 适配卡">贝尔金笔记本USB2.0
                                                                            2口P..</a></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="2"><img src="images/xian.gif" height="1"
                                                                                            width="170"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="25"><img src="images/tou_02.gif"><a
                                                                                href="http://www.thinkshop.cn/index_pi.php?productcode=BR0357"
                                                                                class="twoji" title="贝尔金笔记本电脑保护内胆包(14寸)">贝尔金笔记本电脑保护内胆..</a>
                                                                        </td>
                                                                    </tr>
                                                                    </tbody>
                                                                </table>
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <td><img src="images/paihang_up.gif" height="17" width="196">
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <td height="5"></td>
                                                        </tr>
                                                        <tr>
                                                            <td><a title="商城招募校园代理火爆进行中!激起创业的激情!" target="_blank"
                                                                   href="http://www.thinkshop.cn/sales/campus"><img
                                                                    src="images/fcthink2.gif" border="0" height="66"
                                                                    width="194"></a></td>
                                                        </tr>
                                                        </tbody>
                                                    </table>
                                                </td>
                                            </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                <tr>
                                    <td height="35" valign="center"><img src="images/pingpai_new.gif" usemap="#FPMap_brand"
                                                                         border="0" height="31" width="780"></td>
                                </tr>
                                </tbody>
                            </table>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </td>
        </tr>
        <tr>
            <td width="100%"><!--底部INC-->
                <table border="0" cellpadding="0" cellspacing="0" width="100%">
                    <tbody>
                    <tr>
                        <td class="white" target="_blank" align="center" bgcolor="#383eb6" height="25"><a
                                href="http://www.thinkshop.cn/extend.php#%C9%CC%B3%C7%B6%A8%CE%BB" class="white"
                                target="_blank">商城定位</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%BB%E1%D4%B1%D3%C5%BB%DD" class="white"
                                target="_blank"><font color="#ffffff">会员优惠</font></a> | <a
                                href="http://www.thinkshop.cn/extend.php#%B6%A9%B5%A5%B4%A6%C0%ED%B9%FD%B3%CC" class="white"
                                target="_blank">订单处理</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%D3%D0%B9%D8%BB%FD%B7%D6%B6%D2%BB%BB" class="white"
                                target="_blank">积分兑换</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%B3%A3%BC%FB%CE%CA%CC%E2" class="white"
                                target="_blank">常见问题</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%D0%D1%BF%CD%C0%F1%C8%AF" class="white"
                                target="_blank">礼券</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%B9%BA%C2%F2%B7%BD%CA%BD" class="white"
                                target="_blank">购买方式</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%BC%DB%B8%F1%CB%B5%C3%F7" class="white"
                                target="_blank">价格说明</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%B8%B6%BF%EE%B7%BD%CA%BD" class="white"
                                target="_blank">付款方式</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%C5%E4%CB%CD%B7%BD%CA%BD%D3%EB%B7%D1%D3%C3"
                                class="white" target="_blank">配送费用</a> | <a
                                href="http://www.thinkshop.cn/extend.php#%B1%A3%D0%DE%D3%EB%CD%CB%BB%BB" class="white"
                                target="_blank">保修退换</a> | <a
                                href="http://www.allsmart.com.cn/ThinkPad/bbs/upload/forumdisplay.php?fid=40" class="white"
                                target="_blank">客服专区</a> | <a href="http://www.thinkshop.cn/searchlist.htm" class="white"
                                                              target="_blank">快速浏览</a> | <a
                                href="http://www.allsmart.com/about_me/about_9.htm" class="white" target="_blank">招贤纳士</a>
                            <span class="white">| <a href="http://www.allsmart.com/about_me/about_10.htm" class="white"
                                                     target="_blank">友情链接</a></span></td>
                    </tr>
                    <tr>
                        <td align="center" height="5"><img src="images/line.gif" height="1" width="1"></td>
                    </tr>
                    <tr>
                        <td align="center">
                            <table style="border-collapse: collapse; font-size: 9pt;" border="0" bordercolor="#111111"
                                   cellpadding="0" cellspacing="0">
                                <tbody>
                                <tr>
                                    <td width="50" height="38" align="left"><a
                                            href="http://www.ebworld.com.cn/html/2006-12-11/2006121183850.asp"
                                            target="_blank"><img src="images/2006-TOP100.gif" alt="第二届消费者最喜爱的网站TOP100"
                                                                 border="0" height="43" width="44"></a></td>
                                    <td><p align="left"><a
                                            href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202006053100022"
                                            target="_blank"><img src="images/biaoshi.gif" border="0" height="35" width="28"></a>
                                    </p></td>
                                </tr>
                                </tbody>
                            </table>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </td>
        </tr>
        </tbody>
    </table>
    <script src="images/addnum.htm"></script>
    </body>
    </html>
    举例 

    # MVC
      * MModel,模型,即 JavaBean类
        * 完成具体的业务操作,如:查询数据库,封装对象
      * VView,视图,即 JSP
        * 展示数据
      * CController,控制器,即 Servlet
        * 获取用户的输入,调用模型,并将数据交给视图进行展示

    # 特点
      * 优点:
        ① 耦合性低,方便维护,利于分工协作
        ② 代码重用性高
      * 缺点:
        ① 是的项目架构变得复杂,对开发人员的要求更高

    EL表达式

    EL基础

    # 概念:Expression Language:表达式语言

    # 作用替换和简化 JSP页面中的 Java代码的编写

    # 语法${表达式}

    # 注意:JSP默认支持 EL表达式
      * 如果要忽略 EL表达式,设置 JSP中的 page指令:isELIgnored="true" 忽略当前 JSP页面中所有的 EL表达式
      * ${表达式}:忽略当前这个 EL表达式

    具体使用

    # 运算
      1)算术运算符:+  -  *  /(div)  %(mod)
      2)比较运算符:>  <  >=  <=  ==  !=
      3)逻辑运算符:&&(and)  ||(or)  !(not)
      4)空运算符empty
        * ${empty list}:判断字符串、集合数组对象是否为 null 或者长度是否为零
        * ${not empty str}:与上者相反

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    
    ${3 > 4}
    
    ${3 > 4}
    <hr>
    
    <h3>算术运算符</h3>
    ${3 + 4}
    ${3 div 4}
    ${3 mod 4}
    
    <h3>比较运算符</h3>
    ${"a" != "a"}
    
    <h3>逻辑运算符</h3>
    ${3 > 4 and 4 < 5}
    
    <h3>空运算符</h3>
    
    <%--返回 truefalse--%>
    <%
        String str = "abc";
        request.setAttribute("str", str);
    %>
    
    ${empty str}
    ${not empty str}
    
    </body>
    </html>
    View Code 

    # 获取值
      * EL表达式只能从域对象中获取值
      * 语法
        1)${域名称 . 键名}:从指定域中获取指定键的值
          * 域名称:
            ① pageScope  -->  pageContext
            ② requestScope  --> request
            ③ sessionScope  -->  session
            ④ applicationScope  -->  application(ServletContext)
          * 举例:在 request域中存储了 name=张三,获取该对象:${request.name}

        2)${键名}:表示从最小的域中开始查找是否有该键对应的值,直到找到为止

        3)获取对象、List集合、Map集合的值
          * 对象${域名称 . 键名 . 属性名}:本质上会调用对象的 getter方法
          * List集合${域名称 . 键名[索引]}
          * Map集合
            * ${域名称 . 键名 . key名称}
            * ${域名称 . 键名["key名称"]}

    <%@ page import="cn.itcast.domain.User" %>
    <%@ page import="java.util.*" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    
    <%
        User u = new User();
        u.setAge(23);
        u.setName("张三");
        u.setDay(new Date());
    
        request.setAttribute("user", u);
    
        List list = new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add(u);
    
        session.setAttribute("list", list);
    
        Map map = new HashMap();
        map.put("sname", "李四");
        map.put("gender", "male");
        session.setAttribute("map", map);
    
    
    %>
    
    ${requestScope.user}
    ${user.birstr}<br/>
    
    ${list[1]}
    ${sessionScope.list[0]}
    ${list[2].name}<br/>
    
    ${map.gender}
    ${map.["sname"]}<br/>
    
    </body>
    </html>
    View Code 

    # 隐式对象
      * EL表达式中共有 11个隐式对象
      * pageContext 可以获取JSP其他 8个内置对象
        * 如:${pageContext. request. contextPath}:在JSP页面动态获取虚拟目录

    JSTL

    基础入门

    # 概念:JavaServer Pages Tag Library  JSP标准标签库
      * 是由 Apache组织提供的开源的免费的 JSP标签

    # 作用:用于简化和替换 JSP上面的 Java代码

    # 使用步骤
      1)导入 JSTL相关 jar包
      2)引入标签库:taglib指令  <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      3)使用标签

    常用的 JSTL标签

    # if:相当于 Java代码中的 if语句
      * 属性:test  为必须属性,接收 boolean表达式
        * test属性为 true 则显示 if标签体内容;为 false 则不显示
        * 一般情况下,test属性值会和 EL表达式一起使用
      * 注意:<c:if> 标签没有 else的情况,如果想要使用 else的情况可以再定义一个 <c:if>标签

    <%@ page import="java.util.List" %>
    <%@ page import="java.util.ArrayList" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>if</title>
    </head>
    <body>
    <c:if test="true">
        <h1>我是真的。。。</h1>
    </c:if>
    
    <c:if test="false">
        <h1>我是假的。。。</h1>
    </c:if>
    
    <%
        List list = new ArrayList();
        list.add("aaa");
        request.setAttribute("list", list);
    
        request.setAttribute("num", 3);
    %>
    
    <c:if test="${not empty list}">
        遍历集合...
    </c:if>
    
    <c:if test="${num %2 != 0}">
        ${num}是一个奇数
    </c:if>
    
    <c:if test="${num %2 == 0}">
        ${num}是一个偶数
    </c:if>
    
    
    </body>
    </html>
    View Code 

    # choose:相当于 Java代码中的 switch语句
      * 使用 choose标签声明,相当于 switch
      * 使用 when标签判断,相当于 case
      * 使用 otherwise标签兜底,相当于 default

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>choose</title>
    </head>
    <body>
    <%
        int num = 4;
        request.setAttribute("day", num);
    %>
    <c:choose>
        <c:when test="${day == 1}">星期一</c:when>
        <c:when test="${day == 2}">星期二</c:when>
        <c:when test="${day == 3}">星期三</c:when>
        <c:when test="${day == 4}">星期四</c:when>
        <c:when test="${day == 5}">星期五</c:when>
        <c:when test="${day == 6}">星期六</c:when>
        <c:when test="${day == 7}">星期日</c:when>
    
        <c:otherwise>数字输入有误</c:otherwise>
    </c:choose>
    </body>
    </html>
    View Code 

    # foreach:相当于 Java代码的 for语句
      1) 完成重复的操作:for(int i = 0; i < 10; i ++) {}
        * begin:开始值
        * end:结束值
        * var:临时变量,相当于 i
        * step:步长   
      2) 遍历容器:for(User user: list) {}
        * item:容器对象
        * var:容器中元素的临时变量
        * varStatus:循环状态对象
          * count:循环的次数,从 1 开始
          * index:容器中元素的索引,从 0 开始

    <%@ page import="java.util.List" %>
    <%@ page import="java.util.ArrayList" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>for</title>
    </head>
    <body>
    
    <c:forEach begin="1" end="10" var="i" step="1" varStatus="s">
        ${i} ${s.index} ${s.count}<br/>
    </c:forEach>
    
    
    <%
        List list = new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        request.setAttribute("list", list);
    %>
    
    <c:forEach items="${list}" varStatus="s" var="str">
        ${s.index} ${s.count} ${str} <br>
    </c:forEach>
    </body>
    </html>
    View Code

    # 练习
      * 在 request域中有一个存有 User对象的 List集合,需要使用 JSTL+EL 将List集合中的数据展示到 JSP页面的表格 table中

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page import="java.util.List" %>
    <%@ page import="java.util.ArrayList" %>
    <%@ page import="cn.itcast.domain.User" %>
    <%@ page import="java.util.Date" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>test</title>
    </head>
    <body>
    
    <%
        List list = new ArrayList();
        list.add(new User("张三", 23, new Date()));
        list.add(new User("李四", 24, new Date()));
        list.add(new User("王五", 25, new Date()));
        request.setAttribute("list", list);
    %>
    
    
    <table border="1" width="500" align="center" cellspacing="0">
        <tr>
            <th>编号</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>生日</th>
        </tr>
    
        <c:forEach items="${list}" var="user" varStatus="s">
            <c:if test="${s.count % 2 == 0}">
                <tr bgcolor="red">
                    <td>${s.count}</td>
                    <td>${user.name}</td>
                    <td>${user.age}</td>
                    <td>${user.birstr}</td>
                </tr>
            </c:if>
    
            <c:if test="${s.count % 2 != 0}">
                <tr bgcolor="green">
                    <td>${s.count}</td>
                    <td>${user.name}</td>
                    <td>${user.age}</td>
                    <td>${user.birstr}</td>
                </tr>
            </c:if>
    
        </c:forEach>
    </table>
    </body>
    </html>
    View Code 

    三层架构

    # 界面层(表示层):用户看到的界面,用户可以通过界面上的组件和服务器进行交互

    # 业务逻辑层:处理业务逻辑的

    # 数据访问层:操作数据存储文件

    案例

    # 需求:用户信息的列表展示,且支持增删改查操作

    # 设计
      * 技术选型:Servlet+JSP+MySQL+JDBCTemplate+Druid+BeanUtils+Tomcat

    # 开发
      1)环境搭建
        * 创建数据库环境 

    create database day17; -- 创建数据库
    
    use day17;                -- 使用数据库
    
    create table user(   -- 创建表
            id int primary key auto_increment,
            name varchar(20) not null,
            gender varchar(5),
            age int,
            address varchar(32),
            qq varchar(20),
            email varchar(50)
        );

        * 创建项目,导入需要的 jar包
      2)编码

    # 测试

    # 部署运维

  • 相关阅读:
    git 查看、创建、切换、删除、重命名和推送分支
    Java 构造器或构造方法
    Java 二维数组
    Java 引用类型数组
    Java this关键字
    STM8S103 PB4和PB5
    RK3288 dts文件中背光配置参数
    Laravel Cache 缓存钉钉微应用的 Access Token
    Laravel View Composer
    Laravel Cache 的缓存文件在到期后是否会自动删除
  • 原文地址:https://www.cnblogs.com/zhaochuming/p/13596376.html
Copyright © 2020-2023  润新知