第一次使用JSTL时,感觉它是那样的别扭,一点都不如JSP使用起来方便,但是在我真真的掌握它以后我才感觉到它功能的强大和巨大的优越性,下面是我在使用JSTL的过程中的一点感想,希望对学习它的人有所帮助。
JSTL核心标签库支持输出、变量管理、条件循环语句、text imports 和URL manipulation。在JSP页面中可以引入下面的标签来使JSP支持JSTL:
<c:out>是写数据,<c:set>是保存数据到内存中,<c:remove>是删除数据,<c:catch>是抛出错误信息。下面对各种标签的详细用法进行介绍。
1、
将test.testinfo的值保存到session的test2中,其中test是一个javabean的实例,testinfo是test对象的属性。
将对象cust.address的city属性值保存到变量city中
2、
您的用户名是:
显示用户的用户名,如为空则显示guest
指定从session中获取username的值显示;
显示username的值,默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,如果没有取到任何值则不显示。
3、
从request中删除Collection变量。
例子:
? value=”1234” scope=”request”/>
4、
user.wealthy is true.
如果user.wealthy值true,则显示user.wealthy is true.
5、和、
user.generousis true.
user.stingy is true.
user.generous and user.stingy are false.
?
只有当条件user.generous返回值是true时,才显示user.generousis true.
只有当条件user.stingy返回值是true时,才显示user.stingyis true.
其它所有的情况(即user.generous和user.stingy的值都不为true)全部显示user.generous and user.stingy are false.
6、
?
相当于java语句
for (int i=0;i
{
out.println(vectors.get(i));
}
?
在这里vectors是一个java.util.Vector对象,里面存放的是String数据,vector是当前循环条件下String对象。实际上这里的vectors可以是任何实现了java.util. Collection接口的对象。
count=
?
?
输出:
count=0
...
count=10
7、
这个标签的使用相当于java.util.StringTokenizer类。在这里将字符串a:b:c:d以:分开循环四次,token是循环到当前分割到的字符串。
8、?
将url http://www.url.com/edit.js包含到当前页的当前位置,并将url保存到newsfeed变量中
"/>
在当前页的当前位置输出,http://www.yourname.com是当前页的所在的位置。
9、
将请求重新定向到http://127.0.0.1/Sample/jstlTest1.jsp页,相当于response.setRedirect(http://127.0.0.1/Sample/jstlTest1.jsp);
10、
标签用来传递参数给一个重定向或包含页面
将参数888以id为名字传递到login.jsp页面,相当于login.jsp?id=888
在接收端页面接收数据的代码为:
?
还有很多标签在这里就不再一一列出,欢迎一起学习交流经验。
?