`
supben
  • 浏览: 326953 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jstl 基础

阅读更多
输出
<c:out value="xxx"></c:out>

默认输出的是request中拥有的变量,为什么不是pageContext(当前页面)下面解释!
<c:out value="${userName}"></c:out>

获取session中
<c:out value="${sessionScope.userName}"></c:out>

以下只介绍request的情况,对于其session作用域的,只要在前面加个sessionScope就可以了。application作用域类似。
获取javabean属性
<c:out value="${user.userName}"></c:out>

遍历:
遍历数组
int numbers = {1,2,3,4};

<c:forEach items="${numbers }" var="number" varStatus="indexs">
内容:<c:out value="${number}"></c:out> 
当前元素在数组中的位置::<c:out value="${indexs.index}"></c:out>
</forEach>

var 属性指代数组中的元素,varStatus顾名思义是记住一些遍历时候的状态信息,可以获取当前是第几个元素,已经循环了几个元素,第一个元素是什么之类的....

遍历list,
List<User> users = new ArrayList<User>();

<c:forEach items="${users}" var="user" varStatus="indexs">
用户名:<c:out value="${user.userName}"> </c:out>
</forEach>

遍历map
<c:forEach items="${map}" var="mymap" > 
<c:out value="${mymap.key}" /> 
<c:out value="${mymap.value}" /> 
</c:forEach> 

特别的:获取集合类第某个元素的代码:
  <c:out value="${intArray[0]"}</c:out>

和数组的操作方式一样!list和map都是同样的,不存在get(index)这种东西。
如果要指定循环开始的index和步长,代码是这样
<c:forEach  items="${list}" var="option" begin="10" end="100" step="5">
</c:forEach>


条件判断
if标签是这样
<c:if test="条件">
</c:if>


if else 标签是这样
<c:choose>
<c:when test="条件">
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>


运算符号 equals换成eq,其他的不变!
比如判断user的userName为指定的值
<c:if test="${"supben" eq user.userName}">
</c:if>

另有一个empty运算符,比如判断list是否为空,注:判断字符串为空也用这个
if(users!=null || users.size()>0){
}

<c:if test="${!(empty users)}">
</c:if>


至于嵌套,list嵌套map,然后嵌套javabean。只要你熟知上面的语法规则。也是一样的。这里给出一个list签到map嵌套javabean的例子
List<Map<String,User>> maps= new ArrayList<Map<String,User>>();

<c:forEach items="${maps}" var="map">
<c:forEach items="${map}" var="mymap">
<c:out value="${mymap.value.userName}">
</c:forEach>
</c:forEach>


fn函数
fn函数库带了很多的方法。也不用刻意去记,几乎和java里面的名字是一摸一样的,比如对于String类,甚至是完全照搬,比如indexOf,replace,split,trim等。可以望文生义放心的直接来使用。

下面给出fn函数试用的一个例子,获取集合类(包括数组,list,map等等)的长度
<c:out value="${fn:length(list)}"></c:out>


另外:介绍一下<c:set>和<c:remove>标签。假如,以上面的嵌套为例,假如我得到了list的第x个map的"supben" key 所对应的user的userName 为supben。
我在下面还要使用用来做文档的footer,我总不能用一遍遍历判断一次吧。这时候<c:set>标签就派上用场了
<c:set value="xxxxxxxx" var="footer">

然后在使用的地方这么调用
<c:out value="${footer}"></c:out>

<c:remove>,你用完不想要了。用下面的代码移除
<c:remove var="footer"></c:remove>

注意:这两个标签都有scope属性,如果是把变量添加在request中,只需加上scope="request"。默认作用域是pageContext(当前页面中)。
这就带来了一个问题,就是本文一开始提到的,假如,在action(request)中有一个变量叫footer,我在页面中也用set标签定义了一个footer,那么我用${footer}取出来的结果是什么?答案是用set标签定义的!因为在mvc中,jsp极少自己定义变量极,而且你也可以完全可以控制做到用不同的变量名,所以el表达式默认的前缀对象是request!
反而移除是不会有问题。接着上面的步骤,我们在set 打印之后remove footer,再次输出,我们看到打出的值变成了request里面的那个footer!因为remove默认移除的是page中的变量,如果在remove标签里加个scope="session"呢?那么打印的结果是当前页面刚刚定义的footer!


综上:介绍了显示,操作session和request,运算符,条件语句,循环语句。变量的定义和移除等。
这就基本能替换掉jsp页面所需要的java代码。
0
0
分享到:
评论

相关推荐

    JSTL基础例子,有备注

    JSTL基础例子,javaweb上经常用到。

    JSTL基础讲义ppt

    JSTL基础j讲义ppt

    JSTL基础讲义ppt2

    精彩的JSTL基础讲义ppt

    JSP_JSTL基础教程

    JSP_JSTL基础教程 JSTL 1.1 简介 7-2 核心标签库 (Core tag library) 7-3 I18N 格式标签库 (I18N-capable formatting tags library) 7-4 SQL 标签库 (SQL tag library) 7-5 XML 标签库 (XML tag library) 7-6 函数...

    JSTL基础 JSTL简介.ppt

    JSTL 全名为 JavaServer Pages Standard Tag Library, 是由 JCP(Java Community Process)所指定的标准规格,它主要提供给 Java Web 开发人员一个标准通用的标签函数库。 Web 程序开发人员能够利用 JSTL 和 EL 来...

    JSTL基础知识

    JSTL基础知识详解,开发环境配置及标签使用等基础知识。

    jstl基础入门

    1 jsp(java server page):是服务器端运行的JSP本身就是一个文档,不仅可以包含静态的HTML代码, 也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求......

    jstl基础知识

    jstl基本知识,基本语法,欢迎大家下载

    JSTL从入门到精通最全资料打包(附详细实例)

    JSTL从入门到精通最全资料大搜集:包括jstl中文教程.pdf、JSTL基础PPT教程、JSTL中文帮助文档.chm、JSTL in Action.pdf、思远国际软件外包研发中心JSTL中文PPT。还有一个自己做的完整讲解的JSTL各个标签的实例。

    jstl和el的基础

    jstl和el的基础的实施

    JSTL标签基础知识说明

    JSTL标签说明,JSTL标签基础知识,jsp标签中的jstl,包含CORE

    jstl标签基础+例子

    JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库 ( 简称 taglib) ,当您扩展...

    IBM jstl讲义课件

    IBM jstl讲义课件,讲解jstl的安装和核心应用,很基础。

    JSTL介绍

    为大家学习JSTL打下一基础,让你能够更迅速的入门

    JSTL标签基础知识

    JSTL的全名为JavaServerPages Standard Tag Library,即JSP标准标签库,它是由Apache基金组织的jakarta小组开发维护的,其主要功能是为JSP Web开发人员提供一个标准通用的标签库。开发人员可以利用这些标签取代JSP...

    Java Web应用详解.张丽(带详细书签).pdf

    12.3 JSTL基础知识 12.4 EL表达式基础知识 12.5 JSTL核心标签库 12.6 网络留言板V6.0 第13章 Hibernate框架及其应用 13.1 Hibernate 基础知识 13.2 DataBase Explorer 透视图 13.3 Hibernate 应用实例 第14章...

    JSTL标签用法.doc

    JSTL标签用法.doc 希望大家好好学习一下。基础的知识。

    EL AND JSTL

    EL AND JSTL详细讲解,最基础的EL AND JSTL教程内容,

    eclipse或myclipse常用包JSTL

    eclipse或myclipse常用包jstl,该包包括jakarta-taglibs-standard-current,standard.jar,jstl.jar和一个pdf文档

Global site tag (gtag.js) - Google Analytics