JSTL标准标签库

1、JSTL简介

JSTL:( JSPStandard Tag Library ) JSP标准标签库
JSP标签是Sun公司定义的一套标准,由Apache组织基于这套标准开发的一套标签库后又转给Sun公司,被称为JSTL,成为了JavaEE5.0的核心

2、如何使用JSTL?

将JSTL标签对应的jar文件拷贝到WEB-INF/lib目录下
JSTL标准标签库_第1张图片

使用taglib指令导入要使用的JSP标签 <%@taglib uri="" prefix=""%>
uri:JSP标签的命名空间
prefix:命名空间的前缀

3、JSTL标签库分类
core:核心标签库
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
fmt:格式化标签库
<%@taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
sql:数据库标签库
<%@taglib prefix="s" uri="http://java.sun.com/jstl/sql" %>
xml:xml标签库
<%@taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
JSTL 函数
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>


4、常用的标签
if标签的使用:实现Java语言中if语句的功能:
 
    ...
   


test:判断表达式返回true/false
var: 用于存储条件结果的变量
scope: var属性的作用域

forEach标签:实现对集合中对象的遍历

   
    --循环体代码--
   


其中,items指定要遍历的集合对象;
var指定当前成员的引用;
begin指定从集合的第几位开始;
end指定迭代到集合的第几位结束;
step指定循环的步长;
varStatus属性用于存放var引用的成员的相关信息,如索引等


5、使用案例

本案例使用三层结构(表现层、服务层、持久层),在表现层(Userservlet)调用服务层的查询所有用户的方法查询所有的用户返回一个List集合,这里只是列出主要的步骤,查询方法的实现就不列出。

Users.java 如下:

package cn.sz.pojo;

import java.io.Serializable;
import java.util.Date;

public class Users implements Serializable {
	private Integer userId;
	private String loginName;
	private String loginPwd;
	private String realName;
	private Date birthday;
	private String userDesc;
	private String money;

	public Users() {
		super();
	}

	public Users(Integer userId, String loginName, String loginPwd, String realName, Date birthday, String userDesc,
			String money) {
		this.userId = userId;
		this.loginName = loginName;
		this.loginPwd = loginPwd;
		this.realName = realName;
		this.birthday = birthday;
		this.userDesc = userDesc;
		this.money = money;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public String getLoginPwd() {
		return loginPwd;
	}

	public void setLoginPwd(String loginPwd) {
		this.loginPwd = loginPwd;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getUserDesc() {
		return userDesc;
	}

	public void setUserDesc(String userDesc) {
		this.userDesc = userDesc;
	}

	public String getMoney() {
		return money;
	}

	public void setMoney(String money) {
		this.money = money;
	}

}

表现层(Userservlet.java):

public class UserServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 调用service层的查询方法
		IUserService userbiz = new UserServiceImpl();
		List list = userbiz.findAllUsers();
		// 用request保存查询结果
		request.setAttribute("list", list);
		// 跳转到user_list.jsp页面
		request.getRequestDispatcher("user_list.jsp").forward(request, response);
	}

}

web.xml:


   
    UserServlet
    cn.sz.servlet.UserServlet
  
  
    UserServlet
    /UserServlet
  

user_list.jsp页面如下:
<%--设置 isElIgnored="false",打开EL表达式的支持--%>
<%@ page isELIgnored="false" contentType="text/html;charset=UTF-8"
	language="java"%>
<%--引入JSTL核心标签库--%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%--引入JSTL格式化标签库--%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%--引入JJSTL 函数标签库--%>
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>









	

user_list.jsp显示用户信息页面

bgcolor="gray">
编号 登录名 真实姓名 出生日期 个人简介 工资 操作
没有数据
${u.userId } ${u.loginName } ${u.realName } ${fn:substring(u.userDesc,0,15) } ${fn:length(u.userDesc)>15 ? "...":"" }

结果

JSTL标准标签库_第2张图片



你可能感兴趣的:(jsp&servlet)