在JSP中,最重要的部分就是Scriptlet(脚本小程序),所有嵌入在html代码中的java程序都必须在scriptlet中标记出来。
在有三种方式: 第一种:<%%> 第二种:<%!%> 第三中: <%=%>
第一种可以定义局部变量和编写语句。
第二种可以定义全局变量、方法、类,当然尽量不要在JSP中定义类和方法,往往通过JavaBean的形式调用。
第三种的主要功能是输出一个变量或者一个具体的内容。
如果程序中如果过多的出现<%%>会导致代码混乱,所以再新版的jsp中提供了另一种标签<jsp:scriptlet> java scriptlet 代码</jsp:scriptlet>
介绍page指令
page语法<%@page 属性=“内容”%> 可以设置contentType, pageEncoding , errPage/isErrorPage ,import 指令常用的这四个。
contentType是最常用的属性,设置页面的MIME编码,它指定可以打开文件的应用程序类型。<%@page language ="java" contentType="text/html; charset="gb2312""%>除了可以使用charset进行页面的编码,还可以使用pageEncoding进行编码的指定。<%@page language ="java" contentType="text/html pageEncoding="gbk"%>
contentType中的指定的编码是服务器发送给客户端的内容编码,pageEncoding是jsp本身页面的编码。
<%@page errorPage="error.jsp"%>一旦出现错误之后将跳转到error.jsp中。
介绍包含指令,对于重复的工具栏、页面头部、页面尾部就可以使用包含避免重复写入。
静态包含指令是在jsp编译时插入一个高喊文本或者代码的文件,可以是jsp文件,html文件,文本文件,或者是一段java代码。
例如:编译3个文件,可以使jsp页面、htm网页、inc文件
我们可以用<%@include file="info.htm"%>
<%@include file="info.jsp"%> <%@include file="info.inc"%>这样我们就把三个文件包含唉了一个页面中。
动态包含, 使用<jsp:include>指令完全可以完成动态包含操作,如果包含动态页面,可以先进行动态的处理,然后在将处理后的结果包含进来。
动态包含的语法 ,一是不传递参数的:<jsp:include page="{要包含文件的路径|<%=表达式%>}" flush="true|false"/>
二是:传递参数的:<jsp:include page="{要包含文件的路径|<%=表达式%>}" flush="true|false">
<jsp:param name="参数名称" value="参数内容"/> //标签指令必须完结
</jsp:include>
flush属性为false时,表示这个网页完全被读进来以后才输出。
跳转指令:<jsp:forward>
一是不传递参数的:<jsp:forward page="{要包含文件的路径|<%=表达式%>}" />
二是:传递参数的:<jsp:forward page="{要包含文件的路径|<%=表达式%>}" ">
<jsp:param name="参数名称" value="参数内容"/> //标签指令必须完结
</jsp:forward>