java web jstl标签库

jsp页面是为了显示数据,如果嵌入java代码,就会使得可读性差,java代码也难以重用和维护。为了不在jsp页面里面写java脚本,我们使用了jsp内置的行为、指令,也使用el表达式来获取对象和值,但是这些并没有提供循环遍历的功能,所以我们就需要用到jstl标签库。

引入方式

要使用jstl标签库,我们需要用到tablib指令引入。

core标签库

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

引入这个标签库,我们能使用:等标签。

  1. 标签

    作用:将指定内容输出到浏览器,默认支持el表达式,

value:输出的值,可以为EL表达式
default:如果value属性的值不存在,会输出default属性值
excapeXml:如果为true,则会为value中的特殊字符进行转义,默认为true

 



image.png

第一行不存在user.name , 所以显示的是default里面的内容;
第四行选择不转义,所以这些字符没有显示,并且内容加粗了

  1. 标签

  • 这种var不能接受EL表达式,只能是字符

  • target:跟var类似,但是它只能够接受EL表达式,可以是一个对象,一个map等,和var进行互补
    property:对象中的属性名 
    value:属性赋值





image.png
  1. 标签

    移除page域中的hello,显示时依次找page、request、session、application中的hello,所以最后显示的是request中的hello


`
image.png
  1. 标签


image.png
  1. 标签
    相当于switch的作用
    相当于case的作用
    相当于default的作用


    小于10岁
    大于等于10岁小于20岁
    大于等于20岁

image.png
  1. 标签
    将自定义字符串,按照指定字符进行分割,并遍历输出
    items:自定义字符串
    delims:指定字符
    var:遍历的变量名。

        ${s }
image.png
  1. 标签

相当于try catch


    


${e }
image.png
  1. 标签

    items:需要遍历的对象
    var:用于存放遍历的每一项内容,存放在page作用域,只能在循环体中使用

普通for循环:


    ${num }

image.png

forEach list集合:

<%
List list=new ArrayList();
list.add("item1");
list.add("item2");
list.add("item3");

pageContext.setAttribute("list", list);

%>


    ${str}
image.png

forEach map映射:

<%
  Map map=new HashMap();
  map.put("1","hello");
  map.put("2","world");
  pageContext.setAttribute("map", map);
%>

    ${item.key }=${item.value }
image.png
  1. 标签

    value:要进行重写的url
    var:如果写了该变量,那么就会将其重写后的url存入作用域中,默认是page,以scope属性值为准
    scope:作用域范围,默认是page

    

点击跳转
image.png

这个可以用于浏览器把cookie功能关闭时传递sessionid。

  1. 标签


  1. 标签
    类似于JSP的include行为和include指令,JSTL也提供了include功能的标签,不过import标签功能更强大,甚至可以把Internet上的网页包含进来。

fmt标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
是一些辅助性功能标签,就讲解一个把,用的不多

fn方法库

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
提供一些方法,函数,例如字符串查找,截取之类。
必须在el表达式中使用
格式:fn:methodName()的格式,比如:fn:contains()

1、fn:contains(string, substring)
如果参数string中包含参数substring,返回true。

2、fn:containsIgnoreCase(string, substring)
如果参数string中包含参数substring(忽略大小写),返回true

3、fn:endsWith(string, suffix)
如果参数 string 以参数suffix结尾,返回true。

4、fn:escapeXml(string)
将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回。

5、fn:indexOf(string, substring)
返回参数substring在参数string中第一次出现的位置。

6、fn:join(array, separator)
将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。

7、fn:length(item)
返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。

8、fn:replace(string, before, after)
返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果。

9、fn:startsWith(string, prefix)
如果参数string以参数prefix开头,返回true。

10、fn:substring(string, begin, end)
返回参数string部分字符串, 从参数begin开始到参数end位置。

11、fn:substringAfter(string, substring)
返回参数substring在参数string中后面的那一部分字符串。

12、fn:substringBefore(string, substring)
返回参数substring在参数string中前面的那一部分字符串。

13、fn:toLowerCase(string)
将参数string所有的字符变为小写,并将其返回。

14、fn:toUpperCase(string)
将参数string所有的字符变为大写,并将其返回。

15、fn:trim(string)
去除参数string 首尾的空格,并将其返回。

其他库

除此之外,还有sql库和xml库,不过一般不会在里面用

你可能感兴趣的:(java web jstl标签库)