HeadFirst jsp 08 无脚本JSP

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

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

include 指令

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

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

Header.jsp

<html>
<body>
<img src="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="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”>

<%}%>

时间: 2025-01-02 04:32:11

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

无脚本的jsp(动作,EL)

无脚本jsp的必要? 在实际开发中web设计人员很可能不太懂Java语言,而在jsp中Java作为脚本使用,这样就造成不便.我们应该使用一些web设计人员容易接受的"脚本",javaweb2.0就出现了EL,JSTE来替换java脚本(srciptlet,声明等).   1  jsp动作元素             (1) <jsp:useBean id="p" type="person" class="person"

【Head First Servlets and JSP】实践记录01:从有脚本到无脚本

试图章节式的阅读<Head First Servlets and JSP>总感觉不对劲,这本书前后的联系性很强,有点类似于“连续剧”,而不是通常的“知识清单”. 可以建立多态的bean引用吗 使用type,但没有class scope属性默认为“page” 从有脚本到无脚本 1.快速搭建一个测试环境:输入用户名,返回“Hello, 用户名” index.html <!DOCTYPE html> <html lang="en"> <head>

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

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

2016.5.10(编写Java无脚本的JSP页面)

JSP表达式语言EL JSP页面中显示结果 jsp:useBean和jsp:getProperty两个元素冗长而笨拙 jsp:getProperty只支持对简单Bean属性的访问 使用JSP EL <jsp:getProperty>的property属性只能访问Bean的属性,而不能访问嵌套的属性 使用JSP EL(即表达式语言Expression Language) <%@ page contentType="text/html; charset=gb2312" %

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

以前servlet和JSP交互的代码 servlet代码示例: JSP代码示例: 若属性不是一个String而是一个Bean呢? 一个简单的JavaBean servlet代码示例: JSP代码示例: 或者这么写: JSP中不要出现脚本 使用标准动作的JSP 标准动作jsp:useBean详解 scope默认是page作用域,那么在上述示例代码中可能出现问题:找不到person对象! 标准动作jsp:getProperty详解 jsp:useBean还可以创建一个bean 以下标准动作标记: 会

JSP页面小脚本实现日期比较,Java同理,精简过后的,可能在效率上不太好,有大大可以给优化下就更好了

<% java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); java.util.Date d = formatter.parse("2014-06-18 07-30-00"); if (java.lang.System.currentTimeMillis() > d.getTime()) { %> 111111111

jsp开发无刷新文件上传程序代码

原文:jsp开发无刷新文件上传程序代码 源代码下载地址:http://www.zuidaima.com/share/1550463484660736.htm 无刷新文件上传程序代码 源代码截图

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

学习的知识点 JSP,最后会变成一个servlet JSP最终或变成一个完整的servlet在Web应用中运行,只不过这个servlet类会由容器写好. JSP中的scriptlet 所谓scriptlet就是放在<%-%>标记中的java代码.如: <% out.println(com.inspur.Counter.getCount()); %> JSP中的指令 JSP指令和scriptlet区别在于:多了一个@符号.注意中间无空格. 使用page指令导入包 导入一个包: <

JSP系列:(4)JSP进阶-EL表达式和JSP标签

jsp的核心语法: jsp表达式 <%=表达式%>和 jsp脚本<%>. 以后开发jsp的原则: 尽量在jsp页面中少写,甚至不写java代码. 目标: 1)使用EL表达式代替jsp表达式. 2)使用JSP标签代替jsp脚本. 1.EL表达式 1.1.EL作用 使用EL表达式替换掉jsp表达式 EL表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果!!! 语法: ${变量或表达式} <%@ page language="java" import=