JSTL学习

 

为了减少Scriptlet的代码,增加标签编程的同通用性,所以使用JSTL来开发。

 

首先是:将jstl(jsp 标准标签库)的.jar 导入到项目中的lib中去。

然后将这个jstl.jsp中的几个主要的,.tld文件复制到WEN-INF中去。

在开始前可以配置 项目中的 web.xml 文件 :将那些tld 文件映射到某个点(这一步可以不用弄)

 

 

项目的整个过程:

.jsp -> web.xml--> .tld 文件-->.java 文件(.jar 里面的)

 

核心标签库:

c.tld

 设置变量

删除变量

选择结构

循环结构

捕捉错误

导入页面 :设置属性

得到URL 变量

完成客户端跳转

<%


 String arg[]={
	"1","2","3","4","5"	 
 };

pageContext.setAttribute("info",arg);

%>

varstatus 是var的状态
<c:forEach items="${info}" var="a" varStatus="s">
  index=:${s.index}<br>  
  count=:${s.index}<br>
  
  first=:${s.first}<br>
  
  last=:${s.last}<br>
  ${a}<br><br>
</c:forEach>

结果:

index=:0
count=:0
first=:true
last=:false
1

index=:1
count=:1
first=:false
last=:false
2

index=:2
count=:2
first=:false
last=:false
3

index=:3
count=:3
first=:false
last=:false
4

index=:4
count=:4
first=:false
last=:true
5

 

 

国际化标准库:

设置区域

设置所有请求编码

读取资源文件

数字格式化标签

日期格式化标签

设置时区

 

<%
pageContext.setAttribute("date",new Date());
%>

<fmt:setLocale value="zh_CN"/>
	<fmt:formatDate value="${date}"/>
<fmt:setLocale value="en_US"/>
	<fmt:formatDate value="${date}"/>


//设置请求代吗

<fmt:requestEncoding value="GBK"/>




//读取资源文件
 <fmt:bundle basename="Message" >
  <fmt:message key="info" var="inforef" >
  <fmt:param value="MLDN"/>
  </fmt:message>
 </fmt:bundle>
 
 
 <fmt:setBundle basename="Message" var ="msg"/>
   <fmt:message key="info" var="inforef2" bundle="${msg}">
   		<fmt:param value="MLDN"/>
   </fmt:message>
  
 
 <h3>${inforef}</h3>
 
 <h3>${inforef2}</h3>
 
 注意:在国际化资源文件开发中往往建立许多不同的属性文件
 
 中文资源文件:Message_zh_CN.properties
英文资源文件:Message_en_US.properties

在访问时可以设置地区
然后访问就会访问指定地区的文件

例如:
<fmt:setLocale value="zh_CN"/>
<fmt:setBundle basename="Message" var="msg"/>
这时访问的是Message_zh_CN.properties 文件

 

<!-- 数字日期格式化标签 -->>

<fmt:formatNumber value="22222.3333333" maxIntegerDigits="3" maxFractionDigits="3" groupingUsed="true" var="num"/>
${num}

<%
 pageContext.setAttribute("dataref", new Date());
%>


<fmt:formatDate value="${datatef}" type="both" dateStyle="default" var="date"/>
<fmt:formatDate value="${dataref}" type="both" dateStyle="default" var="date"/>
<fmt:formatDate value="${dataref}" type="both" dateStyle="full" var="date"/>
<fmt:parseDate value="2009面12越16日 18十25愤34吗128其" pattern="yyyy面MM越dd日 HH十mm愤ss吗SSS其" var="date2"/>

显示日期:${date2}


<!-- 设置时区 -->>

<%
pageContext.setAttribute("date", new Date());

%>
<fmt:timeZone value="HST">
	<fmt:formatDate value="${date}" type="both" dateStyle="full" timeStyle="full" var="date_Ht"/>
	

</fmt:timeZone>
问啦查看时区:${date_Ht}

在web开发中进行的对数据库的操作都要放在javaBean(Dao)完成,用JSTL操作数据库不推荐使用

 

XML标签库:

解析

输出

设置xml变量

判断语句

选择语句

迭代语句

<c:import url="address.xml" var="add" charEncoding="GBK"></c:import>
		<x:parse var="addressXml" doc="${add}" />
		<!-- 输出信息 -->
		姓名:<x:out select="$addressXml/addresslist/linkman/name"/>
		编号:<x:out select="$addressXml/addrsslist/linkman/name/@id"/>
		邮箱:<x:out select="$addressXml/adresslist/linkman/email"/>
		
		
		<!-- 创建变量 -->
		
		<x:set var="nameXml" scope="page" select="$addressXml/addresslist/linkman"/>
		从变量显示姓名:<x:out select="$nameXml/name"/>
		
		
		<!-- 判断句 -->
		<x:if select="$nameXml/name/@id='lxh'" var="jieguo"/>
		
		<x:if select="$nameXml/name/@id='lxh'" var="jieguo2">
		${jieguo2}
		</x:if>
		${jieguo}
		<!-- 与c:choose 几乎一样 -->
		<x:choose>
			<x:when select="$nameXml/name='李兴华s'"><x:out select="$nameXml/name"/></x:when>
			
			<x:otherwise><h1>hahaha</h1></x:otherwise>
		</x:choose>
		
		
		<x:forEach select="$nameXml" var="linkman">
		<x:out select="name"/>
		<x:out select="name/@id"/>
		
		</x:forEach>

 

函数标签库:

对字符串的一些操作

查找字符串

匹配字符串

转化大小写

字符截取

字符串查分

字符串连接

将<,> 等变为转义字符

查找,换

<%


pageContext.setAttribute("info","Hello,asdfasdfas,sadfasfsaf");
	

%>

是否有MLDN--->>::   ${fn:contains(info,"MLDN")}

是否有MLDN--->>::    ${fn:containsIgnoreCase(info,"MLdn")}

${fn:startsWith(info,"Hello") }
${fn:indexOf(info,",") }

${fn:replace(info,"MLDN","www.MLDNJAVA.cn") }
${fn:substring(info,0,10) }
${fn:split(info," ")} 
</body>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值