chap5 生成动态内容
来源:互联网 发布:长沙java招聘 编辑:程序博客网 时间:2024/05/22 03:17
[例如]
在webapps下建立一个test目录,在其中复制ora的WEB-INF目录(包括web.xml,classes文件夹,lib文件夹),再新建一个jsp文件easy.jsp,就可以在浏览器中输入http://localhost:8080/test/easy.jsp,访问该jsp页面。
如果test/easy/easy.jsp,则可以通过http://localhost:8080/test/easy.easy.jsp访问(5)WEB-INF目录的内容不允许浏览器访问,因此可以把不想public的文件放在里边。(6)lib目录:存放jar文件。例如dom.jar,struts.jar(7)classes目录:所有没有打包到jar的class文件都存放于此。[重要]文件存放的子目录必须与它们所在的package结构一致,例如com.ora.jsp包中的class必须存放在WEB-INF/classes/com/ora/jsp目录。5.3 运行jsp页面(1)tomcat中,默认子目录名称为context path,例如/test(2)请求web app.资源(例如html,jsp,servlet)时,url的hostname+port num.之后,必须是context path,例如http://localhost:8080/test/…,以便container知道哪个app.用于处理该请求。
[例外]
每个container中可以有一个app被作为default(root)应用程序。Tomcat中,该app.默认存放在webapps/ROOT中。可以不用context path(事实上是context path为空字符串),例如http://localhost:8080/index.jsp,事实上该jsp存放在webapps/ROOT中。(3)server处理了被请求页面的jsp元素,只把结果输出给浏览器。
[例如]
jsp代码:
<%@ page contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<title>JSP is Easy</title>
</head>
<body bgcolor="white">
<h1>JSP is as easy as ...</h1>
<%-- Calculate the sum of 1 + 2 + 3 dynamically --%>
1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />
</body>
</html>
浏览器中看到的html源代码:
<html>
<head>
<title>JSP is Easy</title>
</head>
<body bgcolor="white">
<h1>JSP is as easy as ...</h1>
1 + 2 + 3 = 6
</body>
</html>
5.4使用jsp的Directive元素(1)三种jsp的directive:page,include,taglib(2)directive格式:
开头标识:<%@
中间:属性,包括多个“属性名称/属性值”配对,例如contentType="text/html"。所有属性值必须用""括起来。
结尾标识:%>
[注意]jsp元素、属性名称及(大多数情况下)属性值是区分大小写的。(3)page directive:(可用的属性参见本书附录A)
[例如]
container把content type作为response header Content-Type传递给浏览器,以便浏览器知道如何解释及表现该页面。(4)taglib directive:声明该页面所用的自定义标签库。其中,prefix定义标签库的名称前缀;uri是标识该标签库的唯一字符串。5.4.1 jsp 注释(1)<%--和--%>之间的任何内容都被忽略。
[注]对于例如<%-- <%----%>--%>,注释截止于第一个%>5.5 使用template text(1)template text:所有不是jsp元素(directive,action,scripting element)的文本。被不作改变地传给浏览器。(2)用途:可用jsp产生所有基于文本的输出类型,例如xml,wml,或普通文本。(3)container不关心template text代表什么。5.6 使用jsp的Action元素(1)执行条件:当jsp页面被请求时(即“请求处理阶段”)。即:action元素代表发生在runtime的动态action。
[对比]jsp的directive元素仅在translation阶段(即jsp页面转换成servlet代码时)使用。(2)action的语法与html元素的语法相同:
[包含一个body]
<prefix:action_name attr1="value1" attr2="value2">
action_body
</prefix:action_name>
[不包含body]
<prefix:action_name attr1="value1" attr2="value2" />,等价于<prefix:action_name attr1="value1" attr2="value2"></prefix:action_name>(3)action element:通常被称为tag,被聚合成库,即tag library(4)prefix:在taglib directive中定义了prefix namespace。两个用途:[1]使不同library的action可以有相同的名字;[2]使container可以识别出某个action属于哪个library.(5)uri:是tag library的唯一标识,供容器寻找处理action所需的信息。(6)action分为3类:standard,custom,jstl。[参见]chap3 - 3.3.15.6.1 JSTL tag库(1)来源:一群经验丰富的tag library开发者通过JCP制定的。(2)内容:由多个library组成,每个library包括一些有关的action:Core,XML处理,国际化和格式,RDB读取(sql)
[例如]
<c:out value="${1 + 2 + 3}" />
<c:out>是Core library中的action,把表达式${1+2+3}的值赋给属性value5.6.1.1 JSTL表达式语言(EL),详细参见本书附录C(1)EL表达式:${开头,}结尾。
- chap5 生成动态内容
- chap5
- 动态生成WORD内容
- 动态生成Html页面内容
- freemarker实现动态生成内容
- 用DOM-2生成动态内容1
- 用 Tomcat 和 MySQL 生成动态内容
- 动态生成的内容,如何控制布局
- 动态生成(改变)iframe中的内容
- string文件中的内容动态生成
- java根据内容生成动态图片
- 查看js动态生成的HTML内容
- Struts中将数据库中的内容动态生成下拉列表内容
- javaweb动态导出指定格式文件,并写入内容动态生成
- 如何用DOM-2生成动态内容1
- 动态生成文本框并获取其中的内容
- Silverlight中根据绑定内容动态生成模板
- SAP动态生成内表结构及其内容
- 追悼会(二)
- Chap3 JSP 概述
- 软件开发方式的思考
- Chap4 搭建JSP环境
- Delphi 7 下自动实现 xp 风格的简单办法
- chap5 生成动态内容
- chap6 jsp页面中使用JavaBean组件
- Data2SQL数据脚本生成器
- 深入.NET托管堆(managed heap)
- CSDN Blog分类调整,请更新你的收藏和RSS订阅
- boos.Program_options使用记录
- javax.ejb.EJBLocalObject翻译
- c# Ldap 创建本地用户,隶属组成员、dns的域
- VC数字图像处理编程讲座之四