JSTL 及 tablibs 的简单介绍和配置方法

jstl 简介

jstl 的全称就是jsp standard tag libraries, 就是jsp里的标准标签库。
引用jstl技术能在jsp种使用更加强大的标签(tag)。

jstl 里包含多个标准库, 本文主要简单讲讲其中的核心标准库

核心库

主要封装的是一些基本的核心的业务逻辑。

tablibs

这个名称一看就知道, 就是指标签库的集合了。

Spring mvc里配置 tablibs

maven 设置

当然要在maven里加入两个包, 分别是 jstl 和 standard。
在pom.xml里加入

<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version>
</dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version>
</dependency>

那么在 WEBINF/lib 里就会加入jstl-1.2.jar 和 standard-1.1.2.jar 这两个包

spring-context.xml 配置

现在大部分人使用的viewReslover 都是InternalResoucesViewReslover。

在InternalResoucesViewReslover的配置里加上个viewClass的Property

<!-- InternalResoucesViewReslover -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/jsp/"></property><property name="suffix" value=".jsp"/>
</bean>

jsp页面配置

只需要在jsp里头部加上

下面这句

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

声明一下核心标签库, 注意这个真是jstl的1个部分, 其余部分参考spring文档。

1个例子

这个例子使用了核心tablibs中最常用的 1个

我们知道, 如果jsp页面接受1个从后台(controller)传过来的参数的值,一般如下写法法就ok了

<input type="hidden" name="showIds" id="showIds" value=${paraId}/>

但是, 如果接受的参数是1个容器(list/map)的话, 单靠jsp就不好处理了。
一般的做法是把容器里元素的遍历用javascript写在 jsp页面的初始化event里

但是如果使用jstl 标签库, 就能直接在jsp遍历传过来的容器元素哦。

controller 传值

package com.home.controller;import java.util.HashMap;
import java.util.Map;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;import com.home.rest.User;@Controller
@RequestMapping("/user")
public class UserRestController {private Map<Integer,User> userMap = new HashMap<Integer, User>();public UserRestController(){userMap.put(1, new User(1,"jack","jacky","jack@163.com"));userMap.put(2, new User(2,"nick","nicky","nick@163.com"));userMap.put(3, new User(3,"jenny","jenny","jenny@163.com"));userMap.put(4, new User(4,"bill","billy","bill@163.com"));}@RequestMapping(value="/users", method=RequestMethod.GET)public String list(Model model){model.addAttribute("users", userMap);return "rest/user/users";}}

上面的例子利用model传了包含几个User对象的map容器过去。。

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>User list</title>
</head>
<body><c:forEach items="${users}" var="um">-- ${um.value.id} -- ${um.value.name}-- ${um.value.email}<br></c:forEach></body>
</html>

可以见到我利用 这个标签直接遍历里参数容器。

页面效果

JSTL 及 tablibs 的简单介绍和配置方法相关推荐

  1. linux添加触摸屏,Linux_Linux系统下触摸屏的简单使用和配置方法, 如果你装的是 Ubuntu 发行 - phpStudy...

    Linux系统下触摸屏的简单使用和配置方法 如果你装的是 Ubuntu 发行版,那么基本上你的 X 的配置文件 (xorg.conf) 里面已经设置好了相关的驱动,是默认设置,你只需要添加些相关的参数 ...

  2. CCNA课堂练习二:路由协议EIGRP简单介绍与配置

    EIGRP协议是Cisco的私有路由协议,它综合了距离矢量和链路状态2者的优点.它的英文全称是"Enhanced Interior Gateway Routing Protocol" ...

  3. 权限控制框架Shiro简单介绍及配置实例

    Shiro是什么 Apache Shiro是一个非常易用的Java安全框架它能提供验证.授权.加密和Session控制.Shiro非常轻量级而且API也非常易于理解可以使用Shiro完成从APP到企业 ...

  4. centos 安装tomcat_简单介绍Linux配置mysql,tomcat,Nginx 开机自启动的几个方式

    概述 一般我们打算把一些服务,例如 mysql,tomcat,Nginx设置开机自启动的话一般是有三四种方式来实现,下面以mysql,tomcat,Nginx做例子来演示. 一.使用定时任务 cron ...

  5. Derby与mysql的关系_Derby数据库简单介绍和使用方法 | 学步园

    一. Derby 数据库介绍 Apache Derby 是100% Java 编写的内存数据库,属于 Apache 的一个开源项目.并且是一个容易管理的关系数据库管理系统,可以和一些商业产品的特性进行 ...

  6. Derby数据库简单介绍和使用方法

    引言 从软件角度来说,数据库分类为两种: 第一种:数据库服务器(Database Server) 第二种:嵌入式数据库(Embedded Database) 像 Oracle.PostgreSQL.M ...

  7. CSRF简单介绍及利用方法-跨站请求伪造

    0x00 简要介绍 CSRF(Cross-site request forgery)跨站请求伪造,由于目标站无token/referer限制,导致攻击者可以用户的身份完成操作达到各种目的.根据HTTP ...

  8. Web前端工作笔记004---js--webSocket简单介绍和使用方法

    JAVA技术交流QQ群:170933152 Websocket 1.websocket是什么? WebSocket是为解决客户端与服务端实时通信而产生的技术.其本质是先通过HTTP/HTTPS协议进行 ...

  9. 14G服务器BOSS卡的基本介绍和配置方法

    BOSS全称Dell PowerEdge Boot Optimized Storage Solution, 代替之前机型的IDSDM功能,专门设计于托管操作系统. BOSS的基本介绍 BOSS由一个独 ...

最新文章

  1. 全球及中国甲醇催化剂行业前景动态与市场需求调研报告2022版
  2. 使用Docker Swarm部署MinIO ​​​​​​​
  3. 如何用短信完成XSS?
  4. RTT时钟管理篇——RTT定时器超时判断理解
  5. android学习笔记---33_为应用添加多个Activity与参数传递
  6. 一款无惧“魔改”的设计系统开源了,已支持字节跳动4000多个项目
  7. weblogic对JSP预编译、weblogic读取JSP编译后的class文件、ant中weblogic.jspc预编译JSP
  8. transient、Externalizable
  9. iphone app开发实战很重要:《iPhone App开发实战手册》读后感
  10. tomcat反向代理,监控,性能优化详细步骤
  11. caffe安装步骤(Anaconda,Windows10环境下)
  12. Linpack安装、配置与运行
  13. c++ 字符串分割和数字格式化输出
  14. #loj3124. 「CTS2019 | CTSC2019」氪金手游
  15. 崩坏3区号+86_86的区号是代表中国!那82是代表哪个国家?
  16. Web-网上在线支付
  17. Java Swing实用小工具开发
  18. July, 29(R)
  19. Archlinux下的优秀软件推荐
  20. 8分频verilog线_[转载]七、八分频电路Verilog源代码

热门文章

  1. MySQL—函数的使用
  2. Exclusive monitor在spinlock中的应用
  3. PKCS#11 in OP-TEE
  4. 如何编写一个测试HIDL接口的vts(gtest)的testcase
  5. optee中User TA的加载和运行
  6. while和for循环读取大文件三种读取文件方式
  7. Break,Continue,Return 傻傻分不清楚
  8. Python基于socket实现的TCP客户端
  9. HDU2034 人见人爱A-B(C++)
  10. ACM入门之【高精度】