jsp语法
jsp语法分为三种不同的类型
编译器指令
include,page,taglib
脚本语法
注释:HTML注释<!--...-->servlet中会生成,会发给浏览器,浏览器在解析时会忽略掉。
隐藏注释<%--...-->servlet中不生成,不会发给浏览器,只会存在于jsp页面中。
声明:<%!...%>
表达式:<%=...%>
java脚本段:<%....%>
动作语法
<jsp:forword>,<jsp:include>,<jsp:plugin>,<jsp:getProperty>,<jsp:setProperty>,<jsp:userBean>
编译器指令
page
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.*,java.lang.*"%>
<%@ page errorPage="error.jsp"%>
include
<%@ include="文件相对位置"%>
静态导入
<%@ include file="login.jsp"%>
是在servlet引擎转译时,就把次文件内容包含了进去(两个文件的源代码整合到一起,全部放到_jspService方法中),所以只生成一个servlet,所以两个页面不能有同名的变量。
运行效率高一点点,耦合性较高,不够灵活。
动态导入
<%@ jsp:include page="login.jsp"%></jsp:include>
是在servlet引擎转译后,请求的此页面,所以共生成了两个servlet,所以可以有同名变量。
生成两个servlet,相当于两个类之间的调用,耦合性较低,非常灵活。
当被包含页面定义的变量需要给包含页面所使用就使用静态导入。
taglib
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
jsp语法分为三种不同的类型
编译器指令
include,page,taglib
脚本语法
注释:HTML注释<!--...-->servlet中会生成,会发给浏览器,浏览器在解析时会忽略掉。
隐藏注释<%--...-->servlet中不生成,不会发给浏览器,只会存在于jsp页面中。
声明:<%!...%>
表达式:<%=...%>
java脚本段:<%....%>
动作语法
<jsp:forword>,<jsp:include>,<jsp:plugin>,<jsp:getProperty>,<jsp:setProperty>,<jsp:userBean>
编译器指令
page
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.*,java.lang.*"%>
<%@ page errorPage="error.jsp"%>
include
<%@ include="文件相对位置"%>
静态导入
<%@ include file="login.jsp"%>
是在servlet引擎转译时,就把次文件内容包含了进去(两个文件的源代码整合到一起,全部放到_jspService方法中),所以只生成一个servlet,所以两个页面不能有同名的变量。
运行效率高一点点,耦合性较高,不够灵活。
动态导入
<%@ jsp:include page="login.jsp"%></jsp:include>
是在servlet引擎转译后,请求的此页面,所以共生成了两个servlet,所以可以有同名变量。
生成两个servlet,相当于两个类之间的调用,耦合性较低,非常灵活。
当被包含页面定义的变量需要给包含页面所使用就使用静态导入。
taglib
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>