iframe框架中src相对路径问题

遇到问题

        vue项目中使用的iframe框架,需要内嵌一个静态页面,使用的相对路径,本地运行没有问题,但是打包之后报错404

解决思路

        由于使用的是相对路径,报错之后第一反应是考虑是不是打包之后的路径出现了问题,于是google了vue打包之后的dist目录分别对应的内容:

vue项目打包后dist文件目录详解

         css文件夹下的.css文件是项目要用到的css文件,当你做webpack打包的时候,会把所有的css样式打包到这里
        css文件夹下的.css.map文件是一个Source map文件,Source map就是一个信息文件,里面储存着位置信息。也就是说,转换后的代码的每一个位置,所对应的转换前的位置。目的是帮助我们调试被压缩过的css代码,只是方便我们开发的时候做调试使用。
        js文件夹下的.js文件是我们写的各个vue组件;.js.map依然是Source map文件,方便我们开发时调试js代码使用。
        app.js文件里放的是项目中各个页面的逻辑代码
        manifest.js文件可以理解为webpack打包生成的一个配置文件,我们一般不需要关心它
        vendor.js放的是各个页面各个组件公用的一些代码
        index.html使我们前端代码入口的一个html文件

src相对路径

        我们在使用 iframe 引用本地的静态 html 文件,静态文件需要放置在和 src 同级的文件加夹 static 中,如图:

         在使用 iframe 的地方直接写的“相对路径” ,如下图:

         这里的路径,在打包后不会变化。都是根据打包后的路径查找静态文件,因此上方用 “相对路径” 描述并不准确,而是打包后的 “相对路径”,看下图就明白了,这是 打包后的文件层级关系:

        这里我写了很多 ../../../,最后发现真实的引用路径还是http://localhost:8080/static/blog.html,因为向上查找已经到根目录了,所以不管写多少个../,实际路径还是http://localhost:8080/static/blog.html,因此 下方路径直接写 ./static/blog.html 也是一样的,根据上方打包后的层级关系对照一下就明白了。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: 整个配置文件的大体结构如下: ... 有几个术语有必要理解,参数叫做converted,远程Bean叫做created.如果远程Bean A有个方法A.blah(B),那么你需要为A建立一个created,为B建立一个converted. 配置文件init部分声明那些用于建立远程bean和在方法调用转换bean的类.这部分是可选择性配置的,多数情况下可以不必使用它,如果你想定义一个新的creator或者converter那么就必须在部分声明,but do double check on the ones that are currently available first. 在init部分的作用是告诉DWR一些类实例和关于这些类怎样运行的信息.实际上并不会使用.这有点向java的import语句,多数类在使用之前需要引入,但引入了类并不意味着这些在使用,每个creator和converter需要有个id属性来允许以后进行引用. 配置文件的allow部分定义哪些类可以建立和转换,每个被准许的类都可以有一个'create'或者'convert'配置行.下面列出的类的转换在默认情况下不需要进一步的设置. 1、所有基本类型,boolean,int,double等等 2、基本类型的对象形式实现的类,Boolean,Integer等等 3、java.lang.String 4、java.util.date 和三个SQL形式的派生类 5、以上所有类型的数组形式 6、以上所有类型的集合,List,Set,Map(有些局限性) However nothing is added to the list of classes that can be created (i.e. put up for remoting) without you declaring it. 2、 The Converters DWR已经默认定义和初始化了常用的Converter,他们分别如下: 这里仅仅是定义了Converter并且简单的放在元素之内,任何的元素内容都有两个必须定义的属性.一个是对converter定义的引用和converter能够转换的类. 例如最简单的converter是null converter,它作用是把null和void值转换成javascript的null和undefined值.它是所有converter最简单的,就象调用java的静态方法一样,所以并不需要创建对象. 默认的时候DWR将java void值转换成javascript的null值就是这样设置. 有时java.lang.Void也需要进行这样的转换,所以设置也是相似的.从java传递null值到javascript是没有任何危险性的,所以DWR将这个作为默认的converter,所以你自己不用再把这个converter添加到配置文件的部分去. 基本类型的converter转换int,boolean,double等.当然还包括对应的对象形式Integerv,Boolean等等.DWR在allow预定义了16个配置项目分别用于所有基本类型的转换.就象这样. String类型和Date同样预先定义了Converter,这些converter都没有办法进行改变的,所有的String,Date和数值类型都统一采用默认的converter. 2.1 Array Converters Array的配置项目没有上面介绍的那么直观,默认情况下DWR装载所有的基本类型和可装载的对象,这些包括String,Date等先前介绍的类型.java高级程序员可能会理解为什么match的这行有点奇怪. *符号在上面没有提到,其实这是个可以表示任何字符的通配符号.这些数组可装载的的类型和其他可装载的类型是一样的. 2.2 Bean Converters 一种不能采用默认方式定义的converter就是Bean Converter,这个是将POJO对象转换成javascript相关的数组,反向也一样.基于安全因素的考虑这种类型的converter不能采用默认的方式实现. 假设有个bean并且通过语句设置成远程可用,有种类型的参数他本身是一个带有setter的java bean,但setter会产生严重的隐患.攻击者可能促使这隐患的发生.通过下面的语句就可以设置但个类的bean converter 要想允许转换指定包或子包下所有类的转换可以按照下面的设置 很明显,可以采用下面的方式来转换所有的java bean 2.3 Restricting Property Conversion(指定属性转换) 将象用exclude和incluce来通知DWR隔离creator的方法一样,converter也有一个类似的配置方法.因为指定属性转换只有针对bean才有效(基本类型的转换没有必要指定属性),这个功能只能应用与特定的converter即BeanConverter和从次类派生的所有类.相关配置语法如下 这样就可以限定DWR不能调用Fred对象的getProperty1()和getProperty2()方法,通常这被成为拒绝访问方式,当然你也可以采用下面的方式配置可以访问的方法(授权访问方式) 较好的安全控制大部分都是采用授权访问方式. 2.4 Collection Converters DWR最后两个默认的converter是Maps和Collections 通常converter是采用递归方法转换集合的所有对象. 这里有两个地方需要注意: 仅仅通过反射方法没有办法知道集合元素的类型,所以上面的两个converter能将任何集合转换成相对javascript而言有意义的对象.然而没有办法将不同的集合类类型分别采用不同的转换方法.因为没有办法完全自动进行转换,我们可以应用dwr.xml文件的special signatures syntax配置部分设置类型的转换处理过程. 2.5 DOM Objects DWR 自动将DOM、DOM4J、JDOM和XOM转换成DOM树,前面这几种类型都仅仅返回Document,Element,Node.DWR会自动将这些转换成浏览器DOM对象.通常在启动JDOM Converter时会有一个提示信息,除非你想采用JDOMconverter否则可以忽略. INFO: Missing classdef for converter 'jdom'. Failed to load uk.ltd.getahead.dwr.convert.JDOMConverter. Cause: org/jdom/Document 因为DWR没有办法知道你是否采用jdom converter,所以提示信息是info级别.如果你想采用jdom converter,你必须很清楚地知道jdom converter是否可以被加载.这就是DWR保留上面的提示信息的原因. 3 The Creators DWR共有三种Creator,最简单的”new”是调用bean的默认构造函数创建实例.”scripted”允许采用其他脚本语言创建实例.如BeanShell.在远程bean的默认构造函数不能进行进一步配置的情况下这种类型的creator比较有用.”Spring”类型允许你通过spring创建实例. 下面是关于creator的参考资料和配置参数说明. Creator Parameter User new class 类的全名称(包括包路径) scripted language BSF框架支持的脚本语言名称(BSF为apache项目) scripted script 返回远程对象的脚本,脚本可以指定一些属性,多数情况下一般只设置param节点配置.属性很少设置. spring Location* 任何以location开头的参数,每个参数都是指定一个spring的配置文件,在参数没有设置的情况下DWR会去读取spring的全局的配置文件. spring beanName 从配置文件读取的bean的名称 “scope参数允许你配置creator的生命周期,共有以下几个选项:application,session,request,page.这些参数对于用过jsp或servlet的开发人员并不陌生. 3.1 Uing static methods 如果你想远程调用一个creator的静态方法,并且creator是new类型.因为调用远程bean的方法前DWR不会检测将要执行的方法是不是静态方法,如果是静态方法那么creator就不用创建.这种机制可以适用任何类型的creator,但new类型的creator是最简单配置的. 3.2 Security Creator可以配置类的成员函数的访问权限.creator有授权访问(指明可以被访问的方法)和拒绝访问(指明不允许访问的方法)两种配置方式. 如果要设置除了setWibble方法之外的所有方法都不可访问可以采用下面的设置. 如果采用j2ee访问角色控制的模式 3.3 The 'spring' Creator 3.4 The 'new' Creator DWR已经默认定义了new creator. DWR已经将这配置到了内置的dwr.xml文件,并不需要进行额外的配置. Creator通过调用类的默认的构造方法创建实例.应用new creator有以下几个优点:  安全性 生命周期比较短的creator可以得到更好的安全性,通过不同的应用情况设置适合的生命周期.  低内存开销 在访问量比较大的情况下,可以不用担心发生内存泄露的情况. 配置一个creator的创建和远程方法调用设置: ... 上面的配置信息表示将java.util.date提供给客户端调用,并且引用名称是Blash.当你在客户端调用Blash.toString(reply)时,后台将采用java.util.date的默认构造方法创建一个实例.然后调用实例的tostring方法.客户端的javascript将返回给reply对象(此时reply是java.util.date的字符串形式) 3.5 The 'scripted' Creator DWR 已经默认配置了scripted creator配置, 这种类型的creator采用BSF执行脚本语言并返回bean.例如 ... import org.apache.commons.validator.EmailValidator; return EmailValidator.getInstance(); ... 4 Signatures in dwr.xml Signatures部分用于配置Collections装载对象元素的类型.举个例子来说:下面的java代码没有办法对List集合的对象进行转换. public class Check { public void setLotteryResults(List nos) { ... } } Singatures配置允许我们对DWR要操作的对象类型进行配置.对于了解JDK5泛型编程的开发人员来说下面的格式是很容易理解的. <![CDATA[ import java.util.List; import com.example.Check; Check.setLotteryResults(List nos); ]]> DWR有个专门用于解析上面配置语句的解析器,虽然上面的是JDK5才有的特性,因为有解析器的原因这也可以应用与JDK5之前的版本. 解析规则是不可见的,但有两种例外情况. 一种情况是因为DWR1.0的解析器有个Bug,在有些场合会无法处理返回值的类型.所以应该要避免这种情况的发生. 一种情况是因为解析器是一个语法宽松的解析器,他不象编译器一样对语法有非常严格的要求,所有有时可能一些重要的语句没有配置而无法事先发现. <![CDATA[ import java.util.List; Check.setLotteryResults(List); ]]> DWR的将来版本可能会采用符合java官方规范的解析器,这样可以避免许多出错的情况. Signature部分只用于泛型参数到基本类型参数的转换,对于其他的类型DWR采用反射机制或运行时类型来确定.在没有泛型参数的情况下可以不配置Signature. public void method(String p); public void method(String[] p); 下面的就需要配置,因为反射机制无法完成次类功能. public void method(List p); public void method(Map p); 下面可以不用配置,DWR可以自动完成转换. public void method(List p); public void method(Map p); 下面可以不用设置,DWR可以采用运行时转换. public List method(String p); 有一个值得注意的地方是在javascript所有对象的keys都是一个字符串,你也可以把其他对象作为keys.他们在使用之前都会转换成字符串形式.DWR1.x将采用这个特性来转换成String.以后对象的转换将会在服务器端完成. 5 Scripting Introduction DWR生成的javascript代码和java代码很相似并通过dwr.xml配置输出.相比普通java异步调用之下,通过ajax生成远程接口和java 代码的最大挑战是AJAX异步功能. DWR通过引入一个回调函数,当数据从服务返回数据是调用这个函数。有两种推荐的方法使用回调函数。一在参数列表加入回调功能。二增加调用元数据对象调用。 也可以将回调的功能放在参数列表的前头,但是不建议使用这样的用法,因为在处理自动HTTP对象时候会出现问题。这些方法一般会保持向后兼容。 5.1 Simple Callback Functions 假设有个下面的java方法。 public class Remote { public String getData(int index) { ... } } 在javascript就可以以下面的方式引用。 ... function handleGetData(str) { alert(str); } Remote.getData(42, handleGetData); “42”只是一个传给getdata方法的参数。当然你可以采用下面的写法。 Remote.getData(42, function(str) { alert(str); }); 5.2 Call Meta-Data Objects 另一种使用回调功能的方法是指定一个回调功能选项或其他可选项。上面的例子就变成下面的形式。 Remote.getData(42, { callback:function(str) { alert(str); } }); 这个方法具有以下几个优点:可以依照你的编码习惯来编写程序,更重要的是允许你增加额外的调用选项。 5.3 Timeouts and Handling Errors 除了使用回调功能你还可以指定超时时限和错误处理方法。例如: Remote.getData(42, { callback:function(str) { alert(str); }, timout:5000, errorHandler:function(message) { alert("Oops: " + message); } }); 5.4 Finding the callback method 下面有几个实例来说明回调功能各个参数选项的配置,因为javascript是不支持函数重载的。 Remote.method({ timeout:3 }, { errorHandler:somefunc }); 上面的两个参数一个是bean的参数一个是回调元数据对象。但是没有方法去区别这两种参数选项。在抛开特定的浏览器环境,我们假设null==undefined,所以具有以下规则: 一、 如果一个函数的每个调用都是回调函数,那么他就没有调用元数据对象,所有的参数都是普通java参数。 二、 如果一个最后一个参数具有一个回调功能,那么这个参数就是调用元数据对象。其余的就是普通java参数。 三、 如果第一个参数为null,我们就认为没有回调功能。其余的就是普通java参数。此外还要检查最后一个参数是否为null,如果是则会给予提示信息。 四、 如果最后一个参数为null,则没有回调功能。 五、 还有一个不是很好的约定格式,要表示错误信息。 6 Engin.js文件 这个文件是DWR的引擎文件,他承担着把后台自动生成的javascript接口与前台调用之间的衔接责任。所以任何使用DWR的地方都需要这个文件。 每个使用DWR的页面都必须引入这个文件: 6.1 Call Batching 应用批量功能可以一次性调用多个远程bean方法,因为他是将多个调用做为一次请求,这就减少了与服务器的交互。可以减少许多的开销。 一个批量方法调用以DWREngine.beginBatch()开始WREngine.endBatch()结束。当DWREngine.endBatch()被调用时就说明开始调用批量方法,DWR就将这些方法打包在一起作为一次请求发送给服务器。 DWR会确保所有的方法都回被调用,所以使用批量功能是要注意是否提交了批量调用,如果没有提交批量调用那么这些需要调用的方法将永远排在调用队列直到提交批量调用。 注意:批量调用方法会有一些缺点,比如他不能在那些已经帮定在一起的方法调用顺序不能保证同步。 例如所有的调用元数据对象的接管函数,超时设定,错误处理等的调用都是在批量的级别上,而不是在调用的级别上。如果一个批量调用含有两个不同超时时间设定的方法,那么除了最后一个之外的所有其他方法的超时设定都被忽略。 6.2 Call Ordering 因为AJAX是个普通的异步远程方法调用模式,所以远程调用的返回结果的顺序可能和你发送请求的顺序不一致。DWREngine.setOrdered(boolean)方法允许你设置远程调用返回结果的顺序和你发送调用请求的顺序保持一致。DWR是通过一个远程方法调用已经结束后在发送下一个调用请求来实现这个功能的。 一般情况我们并不需要返回结果顺序和发送请求顺序保持一致。DWR默认是不保持一致的。 提示:因为保持上面的顺序会对应用程序的性能和响应时间,如果其的一个消息发生丢失那么浏览器可能会有意想不到以外情况发生。在使用这个功能的时候必须认真考虑是否真的有必要使用。通常比较好的方法是使用异步模式调用。 6.3 Handling Errors and Warnings 对于一些服务器端发生的错误或警告情况DWR都回调用默认的错误和警告方法并且传递一个相关信息,通常这些发生的错误和异常对于用户来说是不可见的。 下面这个方法主要用于以消息框的方式或者在状态栏里显示一个错误或警告的消息。 要改变错误的处理方法可以使用这个方法:DWREngine.setErrorHandler(function), 改变警告的处理方法可以使用这个方法:DWREngine.setWarningHandler(function). 6.4 Remoting Hooks 参考 DWREngine.setPreHook(function) and DWREngine.setPostHook(function). 如果你想在执行远程方法调用之前或之后进行一些处理的话,你可以使用上面的两个方法。上面参数设置的目标方法必须是没有参数的。如果你想限制特定的组件在一次方法调用没有结束之前不允许再次调用,那么使用上面的方法将很有用。 Post 执行Hooks通常是设置pre-hooks,一般用来撤消先前的操作。关于Hooks的例子可以参照;DWRUtil.useLoadingMessage() 函数。 6.5 Remoting Options(远程调用设置) 关于DWR处理远程调用有若干个设置选项,Method和Verbs对于用户来说是透明的,但对于不同的浏览器可能会有影响。通常DWR会选择正确的方法处理,如果想饶过某些浏览器产生的影响这些参数设置将非常有用。 DWREngine.setMethod(newmethod) 设置Method的实际执行方法,但被设置的方法不能确保被调用。只是DWR首先会尝试调用这个方法。newmethod 必须是DWREngine.XMLHttpRequest 或着 DWREngine.IFrame. DWREngine.setVerb(verb) 允许设置iframe 和 XMLHttpRequest提交数据时的方式,必须是POST或者GET,如果浏览器不支持POST形式,DWR会自动切换到GET方式。
HTML + JavaScript + Ajax + CSS 赵旭 [email protected] HTML5 1、WEB基础知识(了解) 1、Internet - 网 由若干台电脑、手机、平板 通过 网线(WIFI) 连接起来的结构 2、基于Internet上的程序 1、C / S 结构 Client / Server 特点:必须通过指定的客户端软件才能访问服务器端的一种程序 :如 :桌面版QQ,... ... 2、B / S 结构 Browser / Server Browser :浏览器 特点:通过 浏览器 就能访问服务器端的一种程序 如 :网页版百度,网页版 QQ,网页版 京东,... ... 3、WEB 1、什么是WEB WEB,是基于Internet上的一种应用程序(网页应用程序) WEB页面,简称WEB页(网页),就是保存在服务器端上的一个具体的页面( **.html / **.htm 作为结尾的文件) 2、WEB浏览器 1、功能 1、提交用户请求 (UA : User Agent) 2、作为HTML 以及 脚本执行的 解释器 3、以图形化的方式显示web页面 2、主要浏览器产品 1、Microsoft Internet Explorer (IE) 2、Mozilla Firefox 3、Google Chrome 4、Apple Safari 5、Opera Opera(欧朋) 3、主要技术 1、HTML 2、CSS 3、Javascript 2、HTML入门(重点) 1、什么是HTML Hyper Text Markup Language 超级 文本 标记 语言 超文本 :也是文本,但会具备特殊功能 普通文本 a : 普通字符 a 超文本 a : 表示超链接 普通文本 b : 普通字符 b 超文本 b : 加粗显示文本 标记 :超文本的表现形式 普通文本 a : a 超文本 a : 语言 :具备一定的语法规范 HTML 也具备自己的语法规范 WEB页面(HTML页面)就是由 HTML 语言来进行开发的 ,以 .html 或 .htm 进行结尾的文件 开发 & 运行网页的工具: 1、记事本 2、浏览器 2、HTML 的基础语法 1、标记语法 HTML用于描述功能的符号称为"标记" 标记在使用时,用尖括号 "",标记的分类 1、封闭类型的标记 也称为 "双标记" , 必须成对出现 语法:内容 Demo : 1、创建 p 标记 --... 2、创建 div 标记 -- 3、创建 header 标记 -- <header></header> 2、非封闭类型的标记 也称为 "单标记" 语法: 或 Demo : 1、创建 br 标记 -- 2、创建 hr 标记 -- 3、创建 img 标记 -- 4、创建 input 标记 -- <input/> 2、标记(元素)的嵌套 在一对标记,允许出现另外一对(一个)标记 注意:嵌套标记的书写格式 -- 被嵌套的标记要通过一个 缩进键(Tab) 来表示层级关系 Demo : 1、编写一对 body 标记,在body标记,嵌套一对 div标记,在 div 标记 ,嵌套一对 a 标记,在 a标记,嵌套一对 b 标记,b标记,随意编写一些文本 <body> 这是一段测试文本 </body> 3、标记的属性 1、什么是属性 用来修饰标记的效果的内容,就是属性 2、语法 1、属性必须声明在开始标记 2、属性与标记名称之间,用 空格 隔开 3、属性的值 与 属性之间 使用 "=" 连接 4、一个元素允许有多属性,多属性间,排名不分先后,间用 空格 隔开即可 Demo : 1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这是一个div 四大标准属性: 1、id :定义元素在页面独一无二的名称 2、title :鼠标悬停在元素上时,体现的文字 3、class :引用 类选择器时使用(CSS) 4、style :定义 内联方式方式使用(CSS) 4、注释 语法:<!-- --> 注意: 1、注释不能嵌套 2、注释不能出现在标记 3、HTML 文档结构 W3C :Word Wide Web Consortium (万维网联盟) 1、HTML文档的组成 1、文档类型声明 告知浏览器当前的HTML文档用的是哪个版本 在网页的最顶端 2、由一对 html 根标记,来表示页面的开始与结束 Demo : 1、在 htdoc ,创建一个网页 01-first.html 文件 创建一个 记事本,将 .txt 重命名为 .html 2、搭建HTML网页结构 1、添加 文档类型声明 2、添加 html 根标记 2、<html> 标记 包含两对子元素 1、<head></head> 包含的子元素(2对) 1、<title>网页的标题</title> 2、<meta charset="utf-8"/> -- 能正常显示文 2、<body></body> 属性: 1、text ,取值是一个颜色值(red,green,blue...) 2、bgcolor ,取值也是一个颜色值 Demo : 在刚才的 Demo 基础上 1、在 <html> 增加 <head> 和 <body> 2、为网页指定标题 - 我的第一个HTML文档 3、指定网页的字符编码格式为 utf-8 4、在 body 输出一句话 "我的第一HTML页面" 5、设置 body text为red,bgcolor为yellow 3、文本 1、特殊文本的实现 页面的空格以及一些特殊字符需要通过转义字符的方式体现 1、  表示一个空格 2、< 表示 4、© 表示© Demo : 1、创建一个页面 02-text.html 2、在页面 输出以下内容 The element. ©2017 By Tarena The <p> element.     © By Tarena 2、文本样式相关标记 : 加粗 : 斜体 : 下划线 : 删除线 : 上标 : 下标 Demo : 这是一段包含 ,粗体,斜体,下划线,删除线,上标,下标的文本内容 将以上文本内,对应文字的特殊效果,用标记体现出来 3、标题元素 以 醒目 的方式表现出文本 语法: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 属性: 1、align 文本的水平对齐方式 取值:left / center / right 4、段落元素 语法: 属性:align : left / center / right Demo : 1、在 02-text.html ,增加以下内容 1、用 段落标记表示 :The first paragraph 2、用 段落标记表示 :The second paragraph ,文本表现为 右对齐 5、换行元素 6、分割线元素 作用:在页面表现为一条直线 语法: 属性: 1、size 尺寸,以 px 为单位的数值 2、width 宽度,以 px 或 % 为单位的数值 3、align 水平对其方式 4、color 颜色 Demo : 02-text.html 增加一根水平线,size为5px,宽度为50%,居对齐,颜色为红色(red) 7、预格式化 作用:保留源文档的回车 和 空格 的作用 8、分区元素 1、块分区元素 语法: 作用:布局 2、行内分区元素 语法: 作用:设置同一行文字内的不同样式 9、行内元素 与 块级元素 按照元素们的表现形式来分类,分为 行内元素 和 块级元素1、行内元素 在一行内允许显示多个元素的,称为 "行内元素" span,i,b,s,u,sup,sub 作用:包裹文本,并处理文本的表现形式 2、块级元素 每个元素独占一行显示的,称为 "块级元素" div,p,h1,h2,h3,h4,h5,h6 作用:布局 注意: 1、p标记不能嵌套其它的块级元素 2、行内元素 最好 不要嵌套块级元素 4、图像 和 链接 1、URL 目录结构 : 目录 ,保存文件的文件夹名称 多个文件夹之间的关系,就是目录结构 1、什么是 URL URL (Uniform Resource Locator),统一资源定位器。用来标识某资源文件的位置 2、URL 在 WEB 的表现形式 共三种表现形式: 1、绝对路径 特点:从文件所在的最高级目录处开始查找资源文件所经过的路径,就是绝对路径 使用场合:当想访问互联网上的资源时,只能用绝对路径 完整的绝对路径分四部分: 1、协议名 http 2、域名(主机名,IP地址) www.codeboy.com 3、目录路径 img/header 4、文件名 logo.png http://www.codeboy.com/img/header/logo.png img/header/logo.png 2、相对路径(重点) 场合:使用本机文件时使用 什么是相对路径: 从当前文件位置处开始查找资源文件所经过的路径,就是相对路径 1、同目录,直接用 2、子目录,先进入 3、父目录,先返回 3、根相对路径 路径形式是以 / 作为开始的。 / : 表示的是服务器的根路径 2、图像 1、图像格式 WEB支持的图像格式 1、*.jpg 2、*.gif(动图) 3、*.png(透明) 2、图像的语法 标记: 属性: 1、src :指定要显示图像的 URL 2、width :图像的宽度 3、height :图像的高度 4、title :鼠标悬停时,要显示的文本 Demo : 1、将 学子网的 logo 下载下来 2、显示在自己的网页 3、超链接 1、语法 标记:内容 属性: 1、href : 要链接的HTML页面URL 2、target : 目标,指定新网页的打开形式 取值: 1、_blank : 在新标签页打开网页 2、_self : 在自身标签页打开新网页(默认值) Demo 1、创建一个超链接,内容为 :学子商城,点击时,在自身标签页 打开 http://www.codeboy.com 2、创建一个超链接,内容为 :学子商城的LOGO,点击时,在新标签页打开 http://www.codeboy.com 2、链接的四种表现形式 1、点击操作时,完成资源下载的操作 链接的资源为 zip / rar 时则为下载操作 下载 2、电子邮件链接 联系我们 前提 : 必须在计算机安装并配置好至少一个邮件客户端的信息 3、返回页面顶部的空连接 返回顶部 4、执行Javascript代码片段 执行JS 3、锚点 1、作用 锚点用于在网页的某个位置处做个记号,允许从其他位置处跳转到记号位置处 2、使用方式 1、定义锚点 1、使用 a 标记的 name 属性允许定义锚点 xxxx 2、任何标记的 id 属性定义锚点 2、链接到锚点 链接到锚点 链接到锚点 5、表格 1、表格 1、表格的作用 按照一定的格式来显示数据的 表格是由 单元格(列),行 来组成的 2、表格的语法 1、标记 1、 : 表示一个表格 2、 : 表示表格的一行 3、 : 表行的一列(单元格) : 行/列 标题 (加粗,水平居) 4、 : 表格的标题 该元素必须添加在 之下,所有的tr之上 2、常用属性 1、table 1、width 2、height 3、align 设置表格的对齐方式 , left / center / right 4、border 边框宽度,取值以 px 为单位的数值 5、bgcolor 6、cellspacing :单元格外边距(单元格与单元格 或 单元格与表格之间的距离) 7、cellpadding : 单元格内边距(单元格与内容之间的距离) 2、tr 1、align 控制当前行内容的水平对齐方式 2、valign 控制当前行内容的垂直对齐方式 top / middle / bottom 3、bgcolor 3、td / th 1、align 2、valign 3、width 4、height 5、colspan :跨列 6、rowspan :跨行 Demo : 在 刚才的表格基础上,增加以下内容 1、为表格增加边框 1px 2、为表格增加尺寸 400 * 400 3、为表格增加单元格内边距 5px 4、为第四行 增加属性 ,内容水平居对齐 3、表格的复杂应用 1、行分组 允许将若干行划分到一个组,以便实现统一管理 1、表头行分组 允许将第一行的内容单独分到表头行分组 2、表尾行分组 允许将最后一行的内容单独分到表尾行分组 3、表主体行分组 2、不规则表格创建 通过 td 的跨行 和 跨列来实现不规则的表格 1、跨列 从指定单元格位置处开始,横向向右,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 2、跨行 从指定单元格位置处开始,纵向向下,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 3、表格的嵌套 被嵌套的所有的内容,只能放在 td 2、列表 1、作用 按照一定的格式显示数据 2、列表的分类 & 语法 1、列表的组成 由列表类型 以及 列表项 来组成 2、分类 & 语法 1、有序列表 --> Order List 允许包含若干列表项: --> List Item 2、无序列表 --> Unorder List 允许包含若干列表项: 3、属性 1、ol 1、type 1 、按数字方式排列,默认值 a 、按小写英文方式排列 A 、按大写英文方式排列 i 、按小写罗马数字排列 I 、按大写罗马数字排列 2、start 指定标识从 几 开始显示 2、ul 1、type 1、disc,实心圆,默认值 2、circle,空心圆 3、square,实心矩形 4、none 3、列表的嵌套 被嵌套的内容只能放在 li Demo : 1、声明一个列表在 html (有序),包含两个列表项,显示 两部小说的名字 2、在两个列表项,再各嵌套一个无序列表,各写3-4个小说的主角 3、定义列表 1、作用 以一种特殊的结构来排列数据 通常用语对一类事物/名词 的解释上面 2、语法 :声明一个定义列表 :声明要解释的事物名称 或 名词 :对上述名词或事物解释的内容 3、常用场合 图文混排 3、结构标记 1、结构标记的作用 搭建网页的结构(布局),用于替代 div,最大的优点是提升了标记的"语义性" 2、结构标记详解 1、<header></header> 作用:表示网页 或 某块内容的头部 2、 作用:表示网页的 导航内容 3、 作用:表示网页主体内容的某一部分 4、 作用:出现在文字描述性比较强的场合:一则新闻,论坛的帖子,微博信息,博客的信息 5、 作用:表示网页,或某部分内容的 边栏信息 6、 作用:表示网页尾部的信息 4、表单(难点) 1、表单的作用 用于收集用户的信息并提交给服务器 表单主体是由两部分组成的 1、表单元素 收集信息,并提交给服务器 2、表单控件 用于与用户交互的一些元素:文本框,密码框 2、表单元素(难点) 标记:<form></form> 注意:只有放在 <form></form> 里面的表单控件的值,才能提交给服务器 属性: 1、action 提交给服务器处理程序的地址 (动作) 2、method 提交方式,以什么样的方式把数据交给服务器 1、get 特点: 1、以明文的方式将数据传递给服务器(提交的数据会显示在地址栏上) 2、安全性很低 3、提交数据最大限制为 2KB 4、向服务器要数据时可以使用 2、post 特点: 1、以隐式的方式将数据传递给服务器 2、安全性很高 3、不限制提交数据的大小 4、要提交数据给服务器处理时使用 3、... ... 3、enctype 作用:指定表单数据进行编码的方式 取值: 1、application/x-www-form-urlencoded 默认值,允许将任意类型的文本提交给服务器 2、multipart/form-data 允许将文件提交给服务器 3、text/plain 不对任何数据进行编码和传输 Demo : 1、创建 05-form.html 2、声明一个表单元素 form 3、指定提交地址为 login.php,提交方式为 get,编码方式为默认 3、表单控件 表单元素分类: 1、input元素 2、textarea 多行文本域 3、select 和 option 选项框 4、其它元素 5、新input元素 详解 : 1、input元素 里面会包含若干个不同的表单控件 标记 :<input> 属性 : 1、type 根据不同的type属性值,可以创建不同的input元素 2、name 定义表单控件的名称,主要提交给服务器使用的 注意:如果不声明name属性的话,元素则无法提交给服务器 3、value 定义当前控件的值,主要提交给服务器使用的 4、disabled 禁用控件,无值的属性 <input disabled> 2、文本框 与 密码框 文本框:<input type="text"> 密码框:<input type="password"> 具备除以上四个属性外,还具备以下几个独立属性: 1、maxlength 限制输入的字符数,取值为数字 2、readonly 只读,无值属性 Q : readonly 和 disabled 的区别 1、readonly ,是只读的意思,是允许提交给服务器,不让用户改数据而已 2、disabled , 是禁用的意思,不仅不让用户改数据,而且还不能提交给服务器 3、placeholder 占位符,即默认显示在文本框用于给用户提示的文字 3、按钮 1、提交按钮 作用:将表单提交给服务器 标记:<input type="submit" value="显示的文本"> 2、重置按钮 作用:将表单恢复到初始化的状态 标记:<input type="reset" value="显示的文本"> 3、普通按钮 作用:通过 JS 自定义功能 标记:<input type="button" value="显示的文本"> 4、显示的内容 属性: 1、type :submit / reset / button 4、单选按钮 和 复选框 单选按钮:<input type="radio"> 复选框:<input type="checkbox"> 属性: 1、name 设置名称,并用于分组,一组单选按钮 或 复选框的名称必须相同 2、value 必须设置 3、checked 默认被选,无值属性 5、隐藏域 和 文件选择框 1、隐藏域 <input type="hidden" name="" value=""> 想提交给服务器,但不想给用户看的数据,可以放在隐藏域 2、文件选择框 <input type="file" name=""> 注意: 1、form的 method 属性值必须为 post 2、form的 enctype属性值必须为 multipart/form-data http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=bingbing http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fengjie&gender=1&question=0&question=1&question=2&question=3 http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fdsafdsafdsa&gender=0&question=0&question=1&question=2&question=3&uid=10000567789 1、表单 1、form ... 2、input ... 3、textarea 控件 标记:<textarea></textarea> 属性: 1、name 定义名称,提交给服务器使用 2、cols 指定文本域的列数,变相指定宽 3、rows 指定文本域的行数,变相指定高 4、readonly 只读 Demo : 创建 01-form.html 文件 创建一个 多行文本域,列数为 50,行数为 5,名称为 intro 4、选项框 1、标记 表示 下拉列表 或 滚动列表 列表的内容,允许出现多个 2、属性 1、 1、name :控件的名称 2、size :默认显示选项的数量,默认为1,为下拉列表,如果取值>1的话,则为滚动列表 3、multiple 设置多选,无值的属性 2、 1、value :选项的值,提交给服务器用 2、selected :默认被选 5、其它标记 1、label 元素 作用:关联文本与表单控件的,点击文本时就如同点击表单控件一样 标记:文本 属性: 1、for 指定要关联的表单控件的ID值 2、为控件分组 分组标题 分组的内容 3、浮动框架 1、作用 将其他页面导入到当前页面来 2、语法 标记:<iframe></iframe> 属性: 1、src 要引入的页面的url 2、frameborder 指定浮动框架的边框,默认为1,则显示边框 不需要边框则设置为 0 3、width 4、height 练习: 创建一个 02-iframe 的网页,将 01-form.html 页面引入进来 ,适当调整宽度,高度,边框 6、新input元素 (HTML5) 1、电子邮件类型 作用:提交时会验证数据是否符合Email的规范 标记:<input type="email"> 2、搜索类型 作用:在文本框的基础上,提供了快速清除操作 标记:<input type="search"> 3、URL类型 作用:提交时会验证数据是否符合Web站点的URL规范(绝对路径) 标记:<input type="url"> 4、电话号码类型 作用:在移动端设备,能展开 拨号键盘,在PC无效 标记:<input type="tel"> 5、数字类型 作用:只能让用户输入 或 选择数字 标记:<input type="number"> 属性: 1、min :当前控件接受的最小值 2、max :当前控件接受的最大值 3、step :微调数字时每次变化的长度,默认为1 6、范围类型 作用:提供一个滑块,让用户选择数字 标记:<input type="range"> 属性: 1、min :当前控件的最小值 2、max :当前控件的最大值 3、value :设定初始值 7、颜色类型 作用:提供一个颜色拾取控件 语法:<input type="color"> 8、日期类型 作用:提供一个日期输入控件 标记:<input type="date"> 9、周类型 作用:提供一个日期控件,用于选取周 标记:<input type="week"> 10、月份类型 作用:选取月份控件 标记:<input type="month"> =============================
目录 IBM WEBSPHERE PORTAL 1 目录 2 参数资料 10 一、搜索功能 11 1、搜索表单 11 2、搜索组件 11 3、搜索集合 12 4、站点设置 13 5、模板 13 6、站区创建及内容 13 7、搜索跳转页面 14 8、搜索表单的部署 14 9、详细内容页面 14 10、其他组件 14 11、搜索功能会遇到的问题及其解决方案 14 12、搜索过滤 16 13、注意 16 14、WCM高级搜索参数 16 ADVANCED WCM/WEBSPHERE PORTAL SEARCH INTEGRATION 17 Introduction 17 How to search WCM content using this metadata 18 Specific example 21 15、高级参数二 32 16、搜索网页资料 33 二、页面导航 41 1、页面导航组件创建 41 2、使用场景及其环境设置 41 三、授权与用户 41 1、一般用户 41 2、匿名用户 42 3、授权地点及其方式 42 4、传播与继承 42 5、用户与组管理 43 四、域名 44 1、portal服务器域名 44 2、本机域名映射 44 五、WCM几个页面路径及其名称 44 1、登录页面 44 2、主题及主页页面 45 3、皮肤外观页面路径 45 4、session超时页面 45 5、登录portal时,绕过登录界面,直接进入到主页(或再登录) 45 6、自定义登录跳转页面 45 7、判断用户是否登录标签 46 8、portal登录注销再登录只出现一张图片 46 9、登录失败及修改提示信息 46 10、设置超时跳转页面 47 11、 输出登录用户名称 47 12、输出注销 48 13 、动态链接 48 六、使用WCM时,会遇到的问题 48 1、不能向富文本编辑器粘贴内容 48 2、设置WCM timeout超时值 48 3、一般用户不能访问内容 49 4、页面导航不能分页 49 5、一些portal常见问题 49 6、Portal调用PUMA SPI管理用户和组信息 51 7、WCM内存溢出的解决方法 53 七、组件及其标签 53 (一)、标签 53 1、jsp组件 53 2、组件关联格式 54 3、IDCmpnt标签 55 4、workflowcmpnt标签 55 5、securitycmpnt标签 58 6、profilecmpnt 标签 63 7、pathcmpnt 标签 65 8、historycmpnt标签 67 9、idcmpnt标签 70 10、数字显示格式 73 11、URLCmpnt标签 74 12、AptrixLibCmpnt 标签 76 13、placeholder标签与用户名显示 77 14、JSP初始化workspace的标签 78 15、JSP用标签输出一条内容 78 (二)、标签及其功能的使用 78 1、Writing links to Web Content Management content 78 (三)拖放 JSP标记 80 1) 80 2) 83 3) 84 (四)拖放区域 84 1)在定制主题和外表使用拖放 85 2)拖放标记摘要 85 3)拖放 API 86 八、功能应用或问题 87 1、WCM多子站区指向指定子站区配置 87 2、更改PORTAL默认的登录选项 89 3、如何在主题与皮肤获取PORTAL登录用户信息 90 4、PORTAL6.1.0.3无法查找任何的用户或用户组 92 5、如何个性化PORTLET添加控制板 93 6、IBM WCM匿名搜索 94 7、开发一个系统登录的PORTLET 95 8、WEBSPHERE PORTAL调整PORTLET之间的间隙 102 9、PORTAL6.1.0.1配置扩展属性 105 10、内容链接(同服务器或同站区) 120 11、内容链接(不同服务器或不同站区) 120 12、草稿内容阶段的判断、操作和获取(API) 121 13、WCM 附件下载 121 14、WCM流程带审核组成 122 15、关于使用WCM API获取内容的小经验 123 16、PORTAL WAR包部署方式 124 17、设置PAGE-AREA区域背景为透明 127 18、设置PAGE-AREA区域的宽度 127 19、设置左侧导航页面相对标签的缩进 128 20、PORTLET之间间隙的调整 129 21、WCM 主题获取登录用户的UID信息 129 22、配置是否自动加载主题JSP文件 131 23、菜单标题链接迭代方式(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值