zoukankan      html  css  js  c++  java
  • doc&Alt+/ 快捷键设置&ThreadLocal Fameset与Frame区别

    Alt+/不管用原因:新版本中MyEclipse的Alt+/是别的快捷键,Ctrl+Space是提示标签快捷键,而Ctrl+Space与输入法切换冲突不能用。
    MyEclipse设置Alt+/快捷键
    1). 点击Windows->Preferences->General->Keys
    2). 在快捷键列表中找到:Word Competion,把它的快捷键 Alt+/ 改成其它的快捷键(方法:先把此快捷键删除,点右边的按钮"Remove Binding", 再选中Binding文本框,输入你想要的快捷键)。
    3). 在快捷键列表中找到:Content Assist,把它的快捷键 Ctrl+Space 改成我们要的

    ThreadLocal
    此类型的变量里可以存放数据如回话sessionId,其内部实现是当前线程与数据对应,获取数据时也是根据当前线程获取的,给你说个例子吧:
    一般一个回话session会对应对个线程,这样就可以在每个后台请求的时候记录下该sessionId(就用ThreadLocal记录,因为这么多的请求可能会触发多个线程,
    这样一来可以把此次会话的所有线程都对应该sessionID记录下来),如此就可以在后台的任何地方(线程和sessionID已经有对应关系被先前记录下来了)获取sessionID。。。。也就是用线程作为Key来存数据啦就像Map,只不过人家封装好了,存时就是把当前线程作为key,取时根据当前线程取

    private static final ThreadLocal<String> holder = new ThreadLocal<String>();
         public static void main(String[] args) {
             holder.set("xxx");
             test();
             System.out.println("main "+holder.get());
        }
         
        public static void test(){
            Thread t1= new Thread(){
                public void run(){
                    holder.set("t1");
                    try {
                        Thread.currentThread().sleep(2000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println("t1 "+holder.get());
                }
            };
            Thread t2= new Thread(){
                public void run(){
                     holder.set("t2");
                     try {
                         Thread.currentThread().sleep(4000);
                      } catch (InterruptedException e) {
                         e.printStackTrace();
                      }
                     System.out.println("t1 "+holder.get());
                }
            };
            t1.start();
            t2.start();
        }

     Frameset与Frame的区别 首先讲解Frameset与Frame之间的区别。

    <Frameset></Frameset>用来划分框架,每一个框架由<Frame></Frame>标记。<Frame></Frame>必须在<Frameset></Frameset>之内使用,代码如下:

    <FRAMESET border=1 frameSpacing=1 borderColor=#47478d rows=* cols=180,*>

    <FRAME src="inc/admin_left.htm" name=left scrolling=no id="left">

    <FRAME src="inc/admin_center.htm" name=main scrolling="no">

    </FRAMESET>

    在上面的例子当中,<Frameset></Frameset>把页面分为左右两个部分,左侧框架中的页面是admin_left.htm,右侧框架中的页面是admin_center.htm。

    注意:<Frame></Frame>标记的框架顺序为从左至右或从上到下。

    两者的差别如下:

      ● <Frameset>为框架标记,说明该网页文档为框架组成,并设定文档中组成框架集的框架的布局。

      ● <Frame>用以设置组成框架集中各个框架的属性。

    10.4.2  Frameset参数设置 <Frameset>需要设置一些特定的参数,这些参数直接决定了整个页面的布局,代码如下:

    <Frameset border=1 frameSpacing=1 borderColor=#47478d rows=* cols=180,*>

    关于上段代码的各项参数设置及其含义如表10.3所示。

    表10.3  Frameset参数

    参    数  说    明   Border  设定框架的边框厚度,以pixels为单位   frameborder  设定是否显示框架的边框,0为不显示,1为显示   FrameSpacing  表示框架与框架之间的距离   BorderColor  设定框架的边框颜色   Row  将文档分为上下的框架,Row后的值可以为数值或百分数,*表示占用余下的空间,数值的个数代表水平分成的框架个数,例如Rows=“210,*,10%”,表示页面分为上中下三个框架页,上边的框架占用210px,下边的框架占用整个文档的10%,余下的空间为中间的框架占用。*是一个相对的概念,例如Row=*,表示页面中没有上下结构的框架布局   Cols  设置同Row  

    10.4.3  Frame参数设置 关于Frame参数的设置,代码如下:

    如表10.4所示。

    表10.4  Frame参数

    参    数  说    明   Name  设定框架的名称,须为英文   Src  设置框架中显示的页面路径和名称,可为相对路径亦可为绝对路径   Marginwidth  表示框架距离左右边缘的距离   Marginheight  表示框架距离上下边缘的距离   Scrollling  设置是否在框架中显示滚动条,yes为显示,no为不显示,auto表示当框架页中内容超过框架的大小时自动显示滚动条   Frameborder  设置是否显示框架的边框,0为不显示,1为显示   Noresize  设定是否可以让使用者改变这个框架的大小,不设置此项可以让浏览者任意拉动框架,改变框架的大小   Framespacing  表示框架与框架之间的距离   Bordercolor  设定框架的边框颜色  

    10.4.4  Frame与Iframe的区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。

    Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame></Frame>所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内容的代码。

    如图10.21所示的页面就是应用Iframe在页面上下各创建了分页的链接,上下的代码是一样的,只需在网页中嵌入同一个文件即可,不需要重复代码的编写,本案例的实际效果参看配书光盘中的案例/frame/iframe/see_infomore_iframe.htm。

    10.4.5  设置Iframe透明 Iframe还有一个更大的好处,就是可以设置框架透明,让框架内的背景和主页面背景一样。在上例操作中,细心的读者会发现这个问题,下面来详细说明如何设置Iframe透明。具体操作步骤如下:

    (1)打开配书光盘中的案例/frame/iframe/see_infomore_iframe1.htm。

    (2)在浏览器中浏览该页文件,发现在插入Iframe的区域将原来单元格的背景覆盖了,这不是想要的效果。

    (3)打开page.htm页面,切换到代码视图,在<body>标记中插入代码如下:

    <body style="background-color=transparent">

    图10.21  应用Iframe创建翻页

    (4)切换see_infomore_iframe1.htm到代码视图,查看页面插入Iframe的单元格的代码如下:

    <td height="30" colspan="4" >

    <iframe name="main"  width="100%" height="30" frameborder="0" border=0 scrolling="no" marginwidth="0" marginheight="0" src="page.htm"></iframe>

    </td>

    (5)在<Iframe>标记中,

    <frame name="left" src=" index_manager/admin_left.htm " marginwidth="1" marginheight="1" scrolling="no" frameborder="1" noresize framespacing="2" bordercolor="#cc0000">

    上段代码的各项参数设置及其含义

    allowTransparency="true"

    (6)此时插入Iframe的单元格代码如下:

    <td height="30" colspan="4" >

    <iframe name="main"  width="100%" height="30" frameborder="0" border=0 scrolling="no" marginwidth="0" marginheight="0" src="page.htm" allowTransparency="true"></iframe></td>

    (7)保存page.htm和see_infomore_iframe1.htm两个页面,在浏览器中浏览效果。

    详细出处参考:http://www.jb51.net/web/22785.html

  • 相关阅读:
    MySQL存储过程参数【4】
    MySQL存储过程的变量【3】
    MySQL存储过程入门【2】
    MySQL存储过程简介【1】
    MySQL删除重复行的方式
    在MySQL单个表中找到重复的值
    MySQL比较两个表不同的数据
    【思维】P5743 【深基7.习8】猴子吃桃——有趣的解法,归纳推导
    对判断质数的算法的优化
    【思维】P1321 单词覆盖还原
  • 原文地址:https://www.cnblogs.com/xingminghui/p/4225979.html
Copyright © 2011-2022 走看看