JSP基础语法
任何语言都有自己的语法,JAVA中有,jsp作为Java技术应用,他拥有一些自己扩充的技术,Java的所有语法全部支持
JSP表达式
<%-- = 表达式或者变量 --%>
<%= new java.util.Date()%>
java脚本
<%
int sum = 0;
for (int i = 0; i < 100; i++) {
sum += i;
}
out.print("<h1>"+sum+"</h1>");
%>
脚本片段再实现
<%
for (int i = 0; i < 5; i++) {
%>
<h1>hello world</h1>
<%
}
%>
JSP声明
<%!
static {
System.out.println("servlet!!!");
}
private int g = 0;
public void Yovx(){
System.out.println("进入Yovx!!!");
}
%>
JSP声明会编译的jsp生成的Java类中,其他的,就会被生成到_jspService方法中!在jsp,嵌入Java代码即可
<%%>
<%=%>
<%!%>
<%--注解--%>
jsp的注解不会在客户端显示,html的会
JSP指令
<%-- @ include会将两个页面合二为一 --%>
<%@ include file="header.jsp"%>
<h1>网页主体</h1>
<%@ include file="footer.jsp"%>
<h1>===========================</h1>
<%-- jsp:include拼接,本质还是三个页面 --%>
<jsp:include page="header.jsp"/>
<h1>网页主体</h1>
<jsp:include page="footer.jsp"/>
九大内置对象
- PageContext 存东西
- Request 存东西
- Response
- Session 存东西
- Application [ServletContext] 存东西
- config [SerlvetConfig]
- out
- page
- exception
pageContext.setAttribute("name1","pageContext");//保存的数据只在一个页面有效
request.setAttribute("name2","request"); //保存的数据只在一个请求有效,请求转发携带数据
session.setAttribute("name3","session"); //保存数据在一次会话有效,从打开浏览器到关闭浏览器
application.setAttribute("name4","application");//保存数据只在服务器有效,从服务器打开到关闭
request:客户端向服务器发送请求,产生的数据,用户看完就没有用了
session:客户端向服务器发送请求,产生的数据,用户用完一会还有用
application:客户端向服务器发送请求,产生的数据,一个用户用完,其他用户还可能使用
JSP标签,JSTL标签,EL表达式
依赖
<!-- jstl标签 -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<!-- taglibs -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
EL表达式:${}
- 获取数据
- 执行运算
- 获取web开发的常用对象
jsp标签
<jsp:forward page="/header.jsp">
<jsp:param name="name" value="Yovx"></jsp:param>
</jsp:forward>
<h1><%=request.getParameter("name")%></h1>
JSTL表达式
JSTL标签库的使用就是为了弥补HTML标签的不足,它自定义许多标签,可以供我们使用,标签的功能和Java代码一样
<c:if test="${param.Username == 'admin'}" var="isIf">
<c:out value="登录成功"></c:out>
</c:if>