原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
动态网站,就是网站上显示的东西会根据用户不同的操作而改变,而我们动态网站的页面,普通的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标签库还有很多,常用的有: