web页面设计人员真的必须懂 java ? web页面人员可以很快学习 EL 语言.

目前不知道 EL 应用前景如何, 但是我们香港系统没有使用 EL.

include 指令

include指令告诉容器, 复制包含文件中的所有内容, 再把它粘贴到这个文件中, 而且就放在这里…

标准页眉文件(“Header.jsp”) 我们希望在我们的web应用的每个页面中都显示html内容, 我们希望每个jsp都显示这个页眉.

Header.jsp

<html>
<body>
<img src="data:images/web-services.jpg"><br>
<em><strong>we know how to make SOAP</strong></em><br>
</body>
</html>

web 应用中的一个 jsp (contract.jsp)
<html>
<body>
<%@ include file="Header.jsp"%>
<br>
<em>We can help</em>
</body>
</html>

<jsp:include>标准动作, 标准动作看上去和include指令是一样的, 内部原理不同, 如果使用include指令, 这与你打开jsp页面, 并粘贴上”Header.jsp”的内容没有两样, 换句话说就好像你把页眉文件的代码重复放在其他JSP中一样
<jsp:include>完全不同, 它不是从 “Header.jsp”复制源代码, include标准动作会再运行时插入”Header.jsp”的响应. 
利用 include指令, 容器要做很多工作, 不过这些工作只是针对第一个请求才需要做, 从第二个请求开始, 就再没有额外的运行时开销了.
个人推荐这种 include 指令
另外, include的位置是敏感的, 即指令的代码位置就会代表着这个指令的插入位置.
另外, 我们为页眉建立了一个页面, Header.jsp, 它本身是一个很正常的jsp, 有自己的开始和结束html和body标记, 然后又建立了contact.jsp,
这个jsp 也有正确的开始和结束标记, 被包含文件中的所有内容都会粘贴到有 include 指令的页面中, 也就是说, html 与 body 等标记重复了.
正确的做法:
把被包含文件中的开始和结束标记去掉, 这样一来, 被包含文件本身确实不能再生成合法的HTML页面了; 它们现在必须被包含在一个有声明了html 和 body 标记的更大的页面中.
Header.jspf, 注意这个扩展名是 jspf 是对jsp 片段的约定
<img src="data:images/web=services.jpg"><br>
<em><strong>We know hwo to make SOAP suck less. </strong></em><br>

Contact.jsp

<html><body>
<%@ include file="Header.jspf" %><br>
<%@ include file="Footer.html" %>
</body></html>

注意这个include指令的位置.

使用<jsp: param>定制包含的内容, 把子标题信息作为新的请求参数交给被包含的页面.

Header.jspf 中增加 <em><strong>${param.subTitle}</strong></em>

<jsp: forward> 标准动作
<% if (request.getParameter(“userName”) == null ) {%>


<jsp:forward page=”Handleit.jsp”>

<%}%>

HeadFirst jsp 08 无脚本JSP的更多相关文章

  1. 【Head First Servlets and JSP】笔记21:从有脚本到无脚本

    可以建立多态的bean引用吗 使用type,但没有class scope属性默认为“page” 从有脚本到无脚本 1.快速搭建一个测试环境:输入用户名,返回“Hello, 用户名” index.htm ...

  2. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  3. 《Head First Servlets & JSP》-8-无脚本的JSP

    以前servlet和JSP交互的代码 servlet代码示例: JSP代码示例: 若属性不是一个String而是一个Bean呢? 一个简单的JavaBean servlet代码示例: JSP代码示例: ...

  4. 基于JQuery+JSP的无数据库无刷新多人在线聊天室

    JQuery是一款非常强大的javascript插件,本文就针对Ajax前台和JSP后台来实现一个无刷新的多人在线聊天室,该实现的数据全部存储在服务端内存里,没有用到数据库,本文会提供所有源程序,需要 ...

  5. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  6. 下列哪个为JSP的小脚本的标签?(选择1项)

    下列哪个为JSP的小脚本的标签?(选择1项) A.<% %> B.<@ %> C.<%! %> D.<%– %> 解答:A

  7. JSP+Servlet 无数据库模拟登录过程

    程序目录结构: index.jsp: <%@ page language="java" contentType="text/html; charset=utf-8& ...

  8. 《Head First Servlets & JSP》-7-使用JSP

    学习的知识点 JSP,最后会变成一个servlet JSP最终或变成一个完整的servlet在Web应用中运行,只不过这个servlet类会由容器写好. JSP中的scriptlet 所谓script ...

  9. 11、Jsp加强/EL表达式/jsp标签

    1 Jsp基础回顾 Jsp基础 1)Jsp的执行过程 tomcat服务器完成:jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法 to ...

随机推荐

  1. Android程序怎么做单元测试

    如何进行Android单元测试 Menifest.xml中加入: <application>中加入: <uses-library android:name="android ...

  2. SQL语言 之 数据查询

    在Oracle 数据库中,SELECT 语句的基本语法为: SELECT [ALL|DISTINCT] column_name [,expression...] FROM table1_name [, ...

  3. tableview的两个重用cell方法

    今天在学习IAP的时候无意间看到原来  tableView: cellForRowAtIndexPath:方法中有两个获得重用cell的方法,一直以来都是用 UITableViewCell  *cel ...

  4. js dom获取

    let inputs = this.$el.querySelectorAll('input'); let icon = this.$el.querySelector('.el-input__icon' ...

  5. OpenERP对象字段定义的详解

    OpenERP对象支持的字段类型有,基础类型:char, text, boolean, integer, float, date, time, datetime, binary:复杂类型:select ...

  6. jenkins+gitlab钩子+shell脚本基于git的tag实现App增量更新

    转自:http://blog.csdn.net/kingboyworld/article/details/54175330 环境安装 jdk1.8 1.安装jenkins 首先到https://jen ...

  7. OFBiz:添加样式【转】

    原文地址:http://www.cnblogs.com/ofbiz/p/3205851.html 1. 打开themes文件夹,拷贝一份样式作为自己的样式更改初始样式,我这里拷贝的是flatgrey文 ...

  8. python 的集合 set()操作

      Python 的集合 set(),是一个无序不重复元素集,可以用于关系测试和消除重复元素.     有以下运算:   1.创建一个set ()集合:   2.add:增加集合元素   3.clea ...

  9. Solr 4.0部署

    http://www.blogjava.net/xiaohuzi2008/archive/2012/12/03/392373.html

  10. js 按enter键提交信息

    http://codeigniter.org.cn/forums/thread-10868-1-1.html function keydown(e) {     var currKey=0,e=e|| ...