jstl

JSTL标签用法

谁说胖子不能爱 提交于 2020-02-17 16:03:55
JSTL标签用法 关键字:JSTL标签、<c:choose>、<c:forEach>、<c:forTokens>、<c:if>、<c:import>、<c:otherwise>、<c:out>、<c:param>、<c:redirect>、<c:remove>、<c:url>、<c:when>、<c:set>、<c:catch> 原来一直没有看过,我说过我是新手,但是好多资料上似乎也不重视 JSTL 。我看项目源代码发现其中使用到了这个标签库,感觉其还真是方便,页面看起来更加清爽。减少了 JAVA 程序员亲自写的代码量,还真验证了,不懒不做程序员,程序员如果写代码不想着偷懒,那么生活是很无趣的。 下面总结总结,学习学习。:) JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库 ( 简称 taglib) ,当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将 taglib 传递给其它开发人员,从而他们可以在自己的网站上使用,或者在您 Web 应用程序的其它部分使用。 JSTL

C 标签使用

不问归期 提交于 2020-02-17 16:02:24
JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签: out、 set、 remove、 catch 2.流程控制标签: if、 choose、 when、 otherwise 3.循环标签: forEach、 forTokens 4.URL操作标签: import、 url、 redirect 使用标签时,一定要在jsp文件头加入以下代码: <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 下面分别对这些标签进行说明: 1. <c:out> 用来显示数据对象(字符串、表达式)的内容或结果 使用Java脚本的方式为:<% out.println("hello") %> <% =表达式 %> 使用JSTL标签:<c:out value="字符串">,例如: <body> <c:out value="&lt要显示的数据对象(未使用转义字符)&gt" escapeXml="true" default="默认值"></c:out><br/> <c:out value="&lt要显示的数据对象(使用转义字符)&gt" escapeXml="false" default="默认值"></c:out><br/> <c:out value="${null}" escapeXml="false"

JSTL标签<c:choose> <c:when> <c:if>

痞子三分冷 提交于 2020-02-17 16:01:35
1.<c:if> 用于实现 java 中的 if 语句功能。 <c:if test=”${list.fenhuo==1}”> <td><font color="red">${list.fenhuo}</font></td> </c:if> 如果test为true时,单元格的字体设置为红色。 2.<c:choose><c:when><c:otherwise>经常一块使用,例如下面我工作中遇到的 <c:choose> <c:when test="${list.fenhuo==1||list.fenhuo==2||list.fenhuo==3||list.fenhuo==4}"> <td><font color="red">${list.fenhuo}</font></td> </c:when> <c:otherwise> <td>${list.fenhuo}</td> </c:otherwise> </c:choose> 这实现的功能是当这列的值为1或2或3或4时这列显示为红色,其他显示正常。 <c:choose> <c:when><c:otherwise>用法相当于if else的实现功能,当有多个判定条件的时候可以写多个<c:when>。 3.<c:foreach>用法 <c:forEach var="list" items="${page.rows}" varStatus=

JSTL详解

爷,独闯天下 提交于 2020-02-17 16:00:51
一.理论准备 JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记,主要是为了方便页面的编写。 JSTL包括,core(c),format(fmt),sql(sql),xml(xml),functions(fn)。 使用包括两个 JAR 文件, jstl.jar 和 standard.jar 。 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 二.Core 标签库 Core 标签库主要包括了一般用途的标签,如条件标签、迭代标签和 URL 相关的标签。 一般用途的标签有 <c:out> 、 <c:set> 、 <c:remove> 、 <c:cath> 1.<c:out> 用于计算一个表达式并将结果输出。类似于 JSP 中 <%=%> 表达式,或者是 EL 中 ${el-expression} 。 //escapeXml默认true,对>

JSTL Core标签库

六月ゝ 毕业季﹏ 提交于 2020-02-17 16:00:06
Core标签库 Core标签库主要包括了一般用途的标签、条件标签、迭代标签和URL相关的标签。在JSP页面使用Core标签,要使用taglig指令,指定引用的标签库,如下: < %@ taglib uri =”http://java.sun.com/jsp/jstl/core” prefix =”c” % > 一般用途的标签有 <c:out> 、 <c:set> 、 <c:remove> 、 <c:cath> 1.<c:out> 用于计算一个表达式并将结果输出。类似于JSP 中<%=%>表达式,或者是EL中$ ${el-expression}。 2.<c:set> 用于设置范围变量的值或者javabean对象的属性。 看个实际例子: < c:set var =”username” value =”lisi” scope =”session”/> 这样就相当于设置了session。 3.<c:remove> 相对<c:set>其作用是移除范围变量。比如 < c:remove var =”nusername” scope =”session”/> 4.<c:catch> 用于捕获在其中嵌套的操作所抛出的异常对象,并将异常信息保存到变量中。 我们将有可能抛出异常的代码放置到开始标签:<c:catch>和结束标签:</c:catch>之间。如果其中代码出现异常,异常对象将被捕获

JSTL 中<c:forEach>使用

≯℡__Kan透↙ 提交于 2020-02-16 07:43:49
<c:forEach 详解 博客分类: JSTL <c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1 var 代表当前项目的变量名 否 无 varStatus 显示循环状态的变量 否 无 vaStatus 属性 JSTL中的 varStatus 和 var 属性一样, varStatus 用于创建限定了作用域的变量。不过,由 varStatus 属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus 类的实例。该类定义了一组特性,它们描述了迭代的当前状态,下面列出了这些特性: 特性 Getter 描述current getCurrent() 当前这次迭代的(集合中的)项 index getIndex()    当前这次迭代从 0 开始的迭代索引 count getCount()      当前这次迭代从 1 开始的迭代计数 first isFirst() 用来表明当前这轮迭代是否为第一次迭代的标志 last isLast()  用来表明当前这轮迭代是否为最后一次迭代的标志 begin getBegin()       begin

c:forEach don't repeat same values when already present in previous row

烈酒焚心 提交于 2020-02-15 06:42:50
问题 I'm having some trouble with this... I have code like this: Market market = new market(); List<Market > list = marketService.getMarketItemList(market); model.addAttribute("list", list); I have a table like this: type | item_name fruit | Banana fruit | Apple vegetable | Onion And I have coded a for each in my JSP like this: <c:forEach var="cmenu" items="${list}"> <li><a href="${url_itemmarket}/${cmenu.itemName}">${cmenu.description}/a>/li> </c:forEach> In the JSP, I want it to look like this:

c:forEach don't repeat same values when already present in previous row

ε祈祈猫儿з 提交于 2020-02-15 06:41:04
问题 I'm having some trouble with this... I have code like this: Market market = new market(); List<Market > list = marketService.getMarketItemList(market); model.addAttribute("list", list); I have a table like this: type | item_name fruit | Banana fruit | Apple vegetable | Onion And I have coded a for each in my JSP like this: <c:forEach var="cmenu" items="${list}"> <li><a href="${url_itemmarket}/${cmenu.itemName}">${cmenu.description}/a>/li> </c:forEach> In the JSP, I want it to look like this:

EL & JSTL

走远了吗. 提交于 2020-02-10 00:46:02
EL JSTL EL 为了保EL表达式正常使用,需要在<%@page 标签里加上isELignored="false" 取值 例子:'${name}' EL表达式可以从pageContext,request,session,application四个作用域中取到值 优先级顺序:pageContext>request>session>application 访问JavaBean属性 JavaBean 1.提供无参public构造方法(默认构造) 2.每个属性,都有public 的 setter 和getter 3.如果属性是boolean,那么就对应is和setter方法 <% Hero hero =new Hero(); hero.setName("盖伦"); hero.setHp(616); request.setAttribute("hero", hero); %> 英雄名字 : ${hero.name} <br> 英雄血量 : ${hero.hp} 取参数 http://127.0.0.1/jstl.jsp?name=abc ${param.name} 进行条件判断 ${killNumber ge 10?"超神":"还没超神"} 例子中讲的是大于等于,除此之外的其他用法如下: eq相等 ne、neq不相等, gt大于, lt小于 gt大于, lt小于 gte、ge大于等于

Java Web学习之JSTL

那年仲夏 提交于 2020-02-08 23:33:22
一.JSTL包含JSP的标准标签库可以极大程度简化我们的开发。 二.使用步骤: (1).导包 taglibs-standard-impl-1.2.1.jar taglibs-standard-spec-1.2.1.jar (2).在页面导入标签库。 可用page include taglib导入标签库指令。 1)、核心标签库 c标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 用来导入标签库 prefix定义标签的前缀,uri固定 2)、使用核心标签库 1、<c:out>用于计算一个表达式并将结果输出到当前页面。 value:代表输出的内容可以使el表达式,如<%= user.name%>或${user.name}. default:表示默认值,一般是当上面距离的${user.name}找不到user或user.name时输出默认值。 escapeXml:表示是否转移特殊字符,默认转义,值为boolean型 <c:out value="<%= a %>" default="8" escapeXml="false"></c:out> 2、<c:set>用于修改或添加域中的属性 <c:set var="" property="" scope="" target="" value=""></c:set>