jsp中<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” 。。的重要性「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。
在jsp先看2个很奇怪的现象
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<script type="text/javascript">
function getpro(selProvance)
{
alert("go");//可以输出go
// alert(selProvance.options[selProvance.selectedIndex].value);//<!DOCTYPE html...若在,输不出来1
alert(document.getElementById(selProvance).value);//可以输出1
}
</script>
<body οnlοad="getpro('selProvance')"><!-- 传的id注意加上引号,表示出入Id -->
<select id="selProvance">
<option>1</option>
</select>
</body>
</html>
2、
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!-- 去掉开头的<!DOCTYPE html PUBLIC等 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<script type="text/javascript">
function getpro(selProvance)
{
alert("go");//可以输出go
alert(selProvance.options[selProvance.selectedIndex].value);//可以输出2
// alert(document.getElementById(selProvance).value);//<!DOCTYPE html PUBLIC去掉后,不能输出2
}
</script>
<body οnlοad="getpro(selProvance)"><!-- 注意当去掉<!DOCTYPE html PUBLIC后,这里千万不能加引号,才能使上面的有除go之外的输出 -->
<select id="selProvance">
<option>2</option>
</select>
</body>
</html>
这个句头作用是很大的,如果不加,默认你的html是html4.0的。 而如果加上了<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
说明了你的是xhtml。
那么html与xhtml的差别在于,一些css样式和js的支持不同。
有时,我们会遇到一个很普通的日历控件 加不加这句<!DOCTYPE html PUBLIC的,直接影响这个页面是不是能用,说明dtd是定义html标记的规则的,日期控件和css不兼容这一个dtd。
也就是说,如果一个很普通的静态网页,(无论是不是jsp或html,只要是数据是静态),可以试试去掉或者加上这个<!DOCTYPE html PUBLIC等 ,看能否正常显示,
另外
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。 该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
以下面这个 <!DOCTYPE> 标签为例:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 “-//W3C//DTD XHTML1.0 Strict//EN” 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
提示和注释: 注释:<!DOCTYPE> 标签没有结束标签!
HTML HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
HTMLStrict DTD 如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “ http://www.w3.org/TR/html4/strict.dtd”> HTML Transitional DTD Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “ http://www.w3.org/TR/html4/loose.dtd”> Frameset DTD Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “ http://www.w3.org/TR/html4/frameset.dtd”> XHTML XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。
XHTML Strict DTD 如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
XHTML Transitional DTD Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
XHTML Frameset DTD 当您希望使用框架时,请使用此 DTD!
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>
参考来源:http://jingyan.baidu.com/article/cdddd41c409e1f53cb00e18c.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157972.html原文链接:https://javaforall.cn
相关文章
- jsp web应用开发_JSP页面
- jsp文件开头<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 > 有什么用
- JSP定义_JSP声明变量与普通脚本变量的区别
- 怎么修改HTML网页的名字_如何修改html文件内容
- SSM+MySQL+JSP教务管理系统设计与实现(附源码下载地址)
- Extjs4.2 window加载HTML,父子页面html传参
- javaweb学习总结(十五)——JSP基础语法详解编程语言
- JSP jsp:param:赋值标签
- JSP jsp:setProperty:属性值设定标签
- JSP Request.getParameter()方法:获得客户端传送给服务器端的参数值
- JSP Response.invalidate()方法:销毁session对象
- JSP Response.setMaxInactiveInterval()方法:设置session的有效期
- JSP requestScope对象:访问request作用域范围的隐含对象
- Linux开发HTML网站:一个简单的指南(linux开发html)
- Linux 开发HTML的简单技巧(linux开发html)
- 用JSP连接MySQL数据库:简明实现代码(jsp连接mysql数据库代码)
- MySQL存储HTML页面的简单技巧(mysql存储html)
- 使用JSP搭建连接SQL Server 2008数据库的Web系统(jsp连接sqlserver2008)
- 程序构建Linux服务器:运行JSP程序的必要步骤(linux服务器jsp)
- sp代码MySQL 3306扫描JSP代码安全性分析(3306mysql扫j)
- JSP实现Oracle数据库更新(jsp更新oracle)
- Oracle数据库配置,使JSP开发更加便利(jsp oracle配置)
- 利用JSP及Oracle搭建文件管理系统(jsp oracle文件)
- JSP与Oracle数据库实战指南(jsp oracle实战)
- MySQL下载JSP学习JSP编程的必备数据库工具(mysql下载jsp)
- 我认为JSP有问题(下)
- JSP简明教程:对比与总结
- Jsp结合XML+XSLT将输出转换为Html格式
- jsp下页面跳转的几种方法小结
- JSP教程(一)
- jsp自定义标签技术(实现原理与代码以及平台搭建步骤)