原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
動態網站,就是網站上顯示的東西會根據用戶不同的操作而改變,而我們動態網站的頁面,普通的html頁面已經不能滿足我們的需求了,需要用到動態頁面。動態頁面有很多,比如freemarker、velocity、jsp等。今天主要講下jsp。
首先我們需要兩個依賴:
下面是jstl和standard兩個依賴的地址:
http://dl.download.csdn.net/down10/20130714/73ab121560683e80bdeb213590350c03.rar?response-content-disposition=attachment%3Bfilename%3D%22jstl.rar%22&OSSAccessKeyId=9q6nvzoJGowBj4q1&Expires=1491210733&Signature=bK9%2F9sjZHSNKIyIYi7irwtOI7xg%3D
我們將包導入項目(拷貝到lib包下),然后在WebContent文件夾下new一個JSP File。建完之后你會發現和用到的就是html代碼,只不過文件后是.jsp,頁面最上面用<%%>包住了
最好能改下編碼格式:
然后,我們需要在從jstl標簽庫中將標簽引入到頁面,在最上面加入這段代碼:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
這樣就表示我們可以在頁面使用標簽庫了,并且給這個標簽庫命名為”c”
然后我們來使用一下,在jsp頁面做一個判斷,從后端傳來一個int類型的值,代表用戶性別,0代表保密,1代表男,2代表女。在頁面顯示相應的性別:
servlet:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int gender = (int) (Math.random()*3);//生成一個0到2的隨機數代表性別
req.setAttribute("g", gender);//將代表性別的隨機數放到返回參數中,起名為g
req.getRequestDispatcher("index.jsp").forward(req, resp);//轉跳到index.jsp頁面,此處用到的是請求轉發forward方法。
}
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- c表示上面prefix="c"中的c,此處可以隨意起,c:if是jstl判斷語句 -->
<c:if test="${g==0}">
保密
</c:if>
<c:if test="${g==1}">
男
</c:if>
<c:if test="${g==2}">
女
</c:if>
</body>
</html>
這樣我們在打開頁面的時候刷新一遍就會出現一個性別。
代碼中,我們用到了jstl標簽的判斷語句,
jstl標簽庫還有很多,常用的有: