jsp基础语法
将程序的输出输出到客户端
<%= 变量或者表达式>
<%= new java.util.Date()>
脚本代码
<% %>
<%
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
out.println("<h2>Sum = "+ sum + "</h2>");
%>
声明
jsp声明:会被编译到jsp生成hava的类中!其他的会被生成到_jspService方法中
<%! %>
<%!
static{
System.out.println("Loading servlet!");
}
private int globalvar = 0;
public void Test(){
System.out.println("Test");
}
%>
注释
<%--注释--%>
定制错误页面
- 方法一
<%@page errorPage="404.jsp" %>
- 方法二
<error-page>
<error-code>404</error-code>
<location>/index.jsp</location>
</error-page>
插入公共页面
<%@include file="index.jsp"%>
<jsp:include page="/index.jsp"/>
内置对象
- PageContest 存东西
- Request 存东西
- Response
- Session 存东西
- Application [ServletContext] 存东西
- config [ServletConfig]
- out
- page
- exception
pageContext.setAttribute("name1", "value1");//保存的数据只在一个页面中有效
request.setAttribute("name2", "value2"); //保存的数据只在一次请求中有校,请求转发会携带这个数据
session.setAttribute("name3", "value3");//保存的数据只在一次会话中有校,从打开浏览器到关闭浏览器
application.setAttribute("name4", "value4");//保存的数据只在服务器中有校,从打开服务器到关闭服务器
携带数据的转发
转发数据
<jsp:forward page="index.jsp">
<jsp:param name="name" value="zjh"/>
<jsp:param name="age" value="12"/>
</jsp:forward>
取出数据
<%=request.getParameter("name")%>
<%=request.getParameter("age")%>
JSTL表达式
JSTL标签库的使用就是为了弥补HTML标签的不足,自定义了很多标签供我们使用,功能和java代码一样
需要引入jstl的jar包,否则会报错(jstl.jar standard.jar)
引用核心库core
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<form action="coreif.jsp" method="get">
<input type="text" name="username" value="${param.username}">
<input type="submit" value="登录">
</form>
<c:if test="${param.username=='admin'}" var="isAdmin">
<c:out value="管理员欢迎你"/>
</c:if>
<c:out value="${isAdmin}"/>