Java标准标签库(JSTL)

页面导航:首页 > 软件编程 > Java编程 > Java标准标签库(JSTL)

Java标准标签库(JSTL)

来源: 作者: 时间:2016-01-21 09:39 【

JSTL(Java Standard Tag Library) Java标准标签库JSTL组成:JSTL Core 核心标签库。 - 这是本部分的重点JSTL I18N - 国际化标签库。Internationalization- I18NJSTL
JSTL(Java Standard Tag Library) –Java标准标签库

JSTL组成:

JSTL –Core 核心标签库。 - 这是本部分的重点
JSTL – I18N - 国际化标签库。Internationalization- I18N
JSTL – SQL – 数据库操作标签(有悖于MVC设计模式不用不讲)。
JSTL - Functions – 函数库。
JSTL - XML ,对XML的操作(同SQL标签)。在jstl-1.2.jar包的META-INF目录中,保存着各种tld文件的版本。请查看。

使用JSTL核心标签:
如果你的Web项目是基于JavaEE2.5或以上的。可以在你项目的任意页面上通过<%@ taglib 指令使用JSTL的核心标签库。
<%@ taglib uri=http://java.sun.com/jsp/jstl/core prefix=c%>
uri是引用标签库的资源定位符,并不代表一个实际的地址。
Prefix是自定义的前缀。
如果你的项目是JavaEE2.5以下的项目,必须在在你项目中的lib目录下,存在以下两个jar文件为:
Jstl.jar、standard.jar

具体使用:

JSTL-Core一共包含以下几个子标签: ${name} 输出标签
pageContext.setAttirbute(key,value,scope); 声明标签
c:remove 删除某个范畴内的数据
判断c:else,c:elsfif
判断分枝c:if,c:else if c:
遍历
分隔
导入其他资源,相当于动态包含共享同一个request
- 重写url
重定向 response.sendRedirect(‘’..)

下面对具体的操作进行解释与演示:

用于在页面上输出结果。
-将request中的name值输出
- 用于将参数输出到页面上。
从page到application开始查找,如果没有找到,就显示默认值hello.
另一种设置默认值的方式:


			Default-value-默认值。
		

只有当要求的信息为null或不存在时才会输出默认值。
excapeXml属性:默认值为true,用于将html等标签转换成<等转换元素,示例:
<%
     String name=Red;
      pageContext.setAttribute(name,name);
  %>
 不对xml或html进行转换,直接输出,这样就会在页面上看到红色的Red字符,因为会解析html数据。

 

<%
   		pageContext.setAttribute(name, jack_P);
   		request.setAttribute(name, jack_R);
   		request.setAttribute(name2, 你好,中国);
   		 %>
   		 ${name }  //从小范围到大开始查找

   		  -------输出标签
   		 

   		   
   		 ${name2 }
    可以解析html语言

   		 -------不可以解析html语言,原样输出
   		

标签的作用如下:

为String类型的命名变量设置值。

直接从参数中取出数据给name赋值。
如果变量为JavaBean则为这个JavaBean的属性设置值。

示例:
<:usebean class="cn.itcast.Person" id="person">


如果变量为Map则,给Map中的key设置值。
,示例:



为String类型的命名变量设置值。

直接从参数中取出数据给name赋值。
如果变量为Bean则为这个JavaBean的属性设置值。

示例:



如果变量为Map则,给Map中的key设置值。
,示例:


	 

${a }
${requestScope.a }


用于实现Java语言中的if语句。它的语法如下:

示例:

当name的值为Jack时输出此行信息


上面的判断等价于下面的代码片段:
if(pageContext.getAttribute(“name”)!=null && !..equals(“Jack”)){
out.println(“…..”);
}

 

25 } var=aa>

比25大咯!!

比25小咯!!



 

choose,when,otherwise

 

 

这几个标签共同使用可以实现Java中的if…else语句的功能。


用户没有输入name参数



${param.name}是管理员



用户是:${param.name}



使用c:when必须遵循以下语法规则:
不能单独使用,它必须位于 必须位于c:when之后。

 

 

20 }> 大于20!! 10 }> 大于10!! 0 }> 小于于10!! 这就是属于其他的了 。。。

 

移除某个标签

 

aaa ${requestScope.a }

迭代标签

 

forEach用于遍历集合中的对像。
基本语法:

迭代部分


forEach的begin(开始索引)、end(结束索引)、step(步长)属性:
将输出0,2,4,6,810

 

${x }

<% String[] a={小王,晓明 ,小杨,新哥}; request.setAttribute(a, a); %> ${i }

   		
   		<%
   		List list=new ArrayList();
   		list.add(123a);
   		list.add(123d);
   		list.add(123b);
   		list.add(123c);
   		list.add(123e);
   		list.add(大新哥);
   		session.setAttribute(list, list);//后面用el表达式取得是参数
   		
   		 %>
   		 
   		 	${li } 

   		 
 		 
   		 
   		 
   		 <%
   		 //演示map采用el表达式
   		 Map map=new HashMap();//存储以hash值存储
   		 map.put(aa, 123);
   		 map.put(cc, 567);
   		 map.put(bb, 345);
   		 map.put(dd, 789);
   		 application.setAttribute(map, map);
   		  %>
   		  
   		  	${mm.key }  ${mm.value }
 ${idx.index } ${idx.count }
   		  

对字符进行分割,以某某分割

 
   		 
   		 	${x }
   		 
   		 

 

Tags:

相关文章

    文章评论

    最 近 更 新
    热 点 排 行
    Js与CSS工具
    代码转换工具
    
    <