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

JSTL demo 说明

阅读更多
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭┭
JSTL提供了4个主要的标签库:核心标签库、国际化标签库(I18N)与格式标签库、XML标签库、SQL标签库.
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
一二三四五六七八九〇

在这里,我使用了EL表达式和条件操作符来选择是否包含 html 中的 “selected”属性,只有符合条件的 “option” 才被添加 “selected” 属性。如果条件(param.artist==1)为真时,前面的“selected” 才被添加到网页中;否则就添加后面的(在这里是空字符串 ‘’)到页面中。
<select name="artist">
<option value="1" ${param.artist == 1 ? 'selected' : ''}>
Vesica Pisces
<option value="2" ${param.artist == 2 ? 'selected' : ''}>
Cortical Control
<option value="3" ${param.artist == 3 ? 'selected' : ''}>
Vida Vierra
</select>

★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★★
核心标签库
--通用标签
--条件标签
--迭代标签

--<c:out>
用法1.<c:out value = "在页面上输出d字符串">
2.<c:out value = "在页面上输出d字符串">***************</c:out> :标签体中的内容不输出
3.<c:out value="2<10" escapeXml="true"> :escapeXml确定是否应将(<,>,&...)转换成实体代码
4.<c:out value="${requestName}"/> :页面输出<request/session/application中的变量值>
5.<c:out value="${sameName}"/> :同上,会按照reqiest-session-app范围寻找变量输入值
6.<c:out value="${notex}" default="这个值不存在"/> :当变量不存在,输出default值

╀╁╁╁╁╁╁╁╁╁╁╂╂╂╂╂╂╂╂╂╂╃╃╃╃╂╁╁╀┿┿┾┾┽┽┽
--<c:set>
用法1.<c:set value="hellking" var="userName" scope= "page/request/.../application"/> :
<c:out value="${userName}"/> :往作用域对象中存放变量和值
2.<c:set var="name">
	value
</c:set>
<c:out value="${name}"/> :设置name的属性,属性值在body中,然后输出这个属性值.
3.使用前提:<jsp:useBean id="test" class="com.test.Demo"/>
<c:set target="${user}" property="userName" value="name"/>
<c:set target="${user}" property="password">
value
</c:set>
userName=<c:out value="${user.userName}"/>,
password=<c:out value="${user.password}"/>.
设置javaBean的属性,然后输出这些属性值.
┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰
--<c:remove>
用法1.<c:set value="10000" var="maxUser" scope="application"/>
<c:remove var="maxUser" scope="application"/>
<c:out value="${maxUser}"/>
┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣┣
--条件标签
--<c:if>
用法1.
<jsp:useBean id="user" class="com.jspdev.ch3.TestBean"/>
<c:set value="16" target="${user}" property="age"/>
....
<c:if test="${user.age<18}">
对不起,你还的年龄过小,不能范围这个网页◎!
</c:if>
用法2.<c:if test = "testConditino" var = "varName" scope = "page/../application">
var指定test条件的变量的名称
scope指定var的范围
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
--<c:choose>
用法1.
<jsp:useBean id="user" class="com.jspdev.ch3.TestBean"/>
<c:set value="15" target="${user}" property="age"/>
<html>
...
<c:choose>
<c:when test="${user.age <=18}">
<font color="blue">
</c:when>
<c:when test="${user.age<=30&&user.age>18}">
<font color="red">
</c:when>
<c:otherwise>
<font color="green">
</c:otherwise>
</c:choose>
你的年龄是:<c:out value="${user.age}"/>
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
--迭代标签
--<c:forEach>
用法1.<c:forEach var="users" items="${users}">
<tr>
<td><c:out value="${users.userName}"/></td>
<td><c:out value="${users.password}"/></td>
<td><c:out value="${users.age}"/></td>
</tr>
</c:forEach>
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
--------------------------前提----------------------------
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page import="java.util.*,com.jspdev.ch3.TestBean"%>
<%
Collection users=new ArrayList();
for(int i=0;i<5;i++)
{
TestBean user=new TestBean();
user.setUserName("guest"+i);
user.setPassword("guest1"+i);
user.setAge(20+i);
users.add(user);
}
session.setAttribute("users",users);
%>
-----------------------------------------------------------
2.<c:forEach var="i" begin="1" end="10">
<c:out value="${i}"/> -->
</c:forEach>

<c:forEach var="i" begin="1" end="10" step="3">
<c:out value="${i}"/> -->
</c:forEach>
3.<c:forEach var="users" items="${users}" begin="0" end="4" step="3">
<tr>
<td><c:out value="${users.userName}"/></td>
<td><c:out value="${users.password}"/></td>
<td><c:out value="${users.age}"/></td>
</tr>
</c:forEach>
前提:作用域通信对象中有users变量
4.<c:forEach var="users" items="${users}" varStatus="status">
<tr>
<td><c:out value="${users.userName}"/></td>
<td><c:out value="${users.password}"/></td>
<td><c:out value="${users.age}"/></td>
<td><c:out value="${status.index}"/></td>
<td><c:out value="${status.count}"/></td>
<td><c:if test="${status.first}">
<b></c:if>
<c:out value="${status.first}"/></b></td>
<td><c:if test="${status.last}">
<i> </c:if>
<c:out value="${status.last}"/></i></td>
</tr>
前提:作用域通信对象中有users变量
5.<%
int[] myIntArray=new int[]{1,2,3,4,5,65,34};
String[] myStringArray=new String[]{"I ","am ","a ","Java","fans"};

Vector v=new Vector();
v.add("this");
v.add("is");
v.add("myEnumeration");
v.add("!");
Enumeration myEnumeration=v.elements();

HashMap myNumberMap=new HashMap();
myNumberMap.put("hellking","23");
myNumberMap.put("guest","23");
myNumberMap.put("guest2","223");

request.setAttribute("myIntArray",myIntArray);
request.setAttribute("myStringArray",myStringArray);
request.setAttribute("myEnumeration",myEnumeration);
request.setAttribute("myNumberMap",myNumberMap);
%>

<c:forEach var="i" items="${myIntArray}">
<c:out value="${i}"/> ?
</c:forEach>

<c:forEach var="string" items="${myStringArray}">
<c:out value="${string}"/><br>
</c:forEach>

<c:forEach var="item" items="${myEnumeration}" begin="0" end="5" step="1">
<c:out value="${item}"/><br>
</c:forEach>

<c:forEach var="prop" items="${myNumberMap}" begin="1" end="5">
<c:out value="${prop.key}"/> = <c:out value="${prop.value}"/><br>
</c:forEach>

<c:forEach var="token" items="red,blue,green">
<c:out value="${token}"/><br>
</c:forEach>
--<c:forTokens>
用法1.<c:forTokens var="token" items="blue,red,green|yellow|pink,black|white" delims="|,">
<c:out value="${token}"/> &copy;
</c:forTokens>

用法2.<h4>使用 '-' 作为分割符</h4>
<c:forTokens var="token" items="blue--red--green--yellow--pink--black--white"
delims="--">
<c:out value="${token}"/> &copy;
</c:forTokens>

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓





分享到:
评论

相关推荐

    基于jsp+Servlet+jstl写的考勤系统源码.zip

    基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip基于jsp+Servlet+jstl写的考勤系统源码.zip...

    IDEA下SpringBoot+JSP+MySQL集成Demo实现简单登陆注册

    现在,让我们详细说明实现步骤: 1. **创建Spring Boot项目**:在IDEA中,选择"New Project",然后选择"Spring Initializr",配置相关依赖,如Spring Web和Spring Data JPA。 2. **配置MySQL**:在`application....

    tomcat-webapp-demo

    2. **JSP技术**:学习如何在JSP页面中嵌入Java代码,以及如何使用EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)简化页面开发。 3. **Maven或Gradle构建工具**:熟悉它们的工作原理,...

    干净的struts2+spring+proxool架子

    说明:demo实现了最简单的取值,数据库操作。 没有使用hibernate和ibatis。自己写了个基类,包装了获取链接和释放链接。 从action返回后,使用了jstl获取action中的值。 没有做画面项验证。 使用了mysql库,proxool...

    liferay-demo:Liferay示范

    Liferay 示例项目通常会提供部署说明,指导开发者如何将项目打包并部署到Liferay服务器上。这可能涉及到Maven或Gradle构建工具,以及Liferay的部署目录结构。 8. **权限与角色管理** Liferay提供了强大的角色和...

    webdemo:javaweb教材

    【描述】"webdemo:javaweb教材源码"进一步说明了这个资源的核心内容是源代码,这意味着我们可以深入学习和理解如何在实际开发中应用JavaWeb技术。源码通常是开发者学习新技术、研究项目结构和编程技巧的重要参考资料...

    java软件下载地址.doc.docx

    下面是详细的知识点说明: 一、FCKeditor FCKeditor 是一个功能强大且灵活的开源在线文本编辑器,支持多种浏览器和操作系统。其官方网址为 http://www.fckeditor.net/,用户可以在这里下载最新版本的 FCKeditor。...

    JSP大作业学籍管理系统

    JSP期末大作业(已拿优),界面美化用的bootstrap,数据库用的mysql,压缩包里含数据库脚本(导入运行即可),代码注释详细,基本功能都有说明,不存在看不懂。如果你想拿优或者作出好的作品,这绝对是个不错的Demo...

    Demo-SpringMVC:使用Maven搭建SpringMVC项目

    - `README.md`: 项目说明文档,可能包含项目创建和运行的详细说明。 通过深入研究这个项目的源代码,可以学习到SpringMVC的实战应用,包括如何组织项目结构、配置SpringMVC、编写Controller,以及如何利用Maven进行...

    Javaweb源码

    源码可能包含了如何配置和部署到Tomcat的说明。 10. **Eclipse或IntelliJ IDEA项目结构**: 开发者可能使用Eclipse或IntelliJ IDEA等IDE创建和管理项目,源码文件的组织结构反映了这些IDE的标准布局。 通过深入研究...

    struts1国际化小实例

    &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt; ``` `fmt:setBundle`设置当前的资源文件,`fmt:message`则根据键获取相应的文本。 五、实例分析 给定的"struts1国际化实例"应该包含了一个...

    SpringMVC-Mybatis-Shiro-redis-master 权限集成缓存中实例

    * 原因:如果你把这个项目叫 ShiroDemo,那么路径就是 /ShiroDemo/xxxx.shtml ,那另外一个人使用,又叫Shiro_Demo,那么就要这么控制/Shiro_Demo/xxxx.shtml * 理解了吗? * 所以这里替换了一下,使用根目录开始...

    调用百度人脸识别API进行登录.zip

    它包含了Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)、EJB(Enterprise JavaBeans)等组件,本项目利用这些技术实现了后端服务器逻辑。 3. **Servlet**:Servlet是Java EE的...

    [其他类别]铭洲网络后台解决方案_ccmingzhou.zip

    5. **EL和JSTL**:可能使用了表达式语言(EL)和JavaServer Pages Standard Tag Library(JSTL),简化页面逻辑。 6. **HTTP协议**:理解请求和响应的流程,以及相关头信息的使用。 7. **Web容器**:如Tomcat,它是...

    javaweb学习代码

    以下是一些关键知识点的详细说明: 1. **Servlet**:Servlet是JavaWeb的基础,它是一个Java类,用于扩展服务器的功能。Servlet接口定义了服务器调用的方法,如`init()`, `service()`, `destroy()`等,用于处理...

    [聊天留言]淘特JSP留言板 v0.1_tot-jsp-gb.zip

    【描述】:这个源码Demo是几年前开发的,旨在帮助学生理解和掌握Java JSP编程技术,以便于进行毕业设计或相关项目开发。Java JSP(JavaServer Pages)是一种服务器端脚本语言,用于创建动态网页。这个应用可能包含了...

    JSP简单标签

    此外,JSP还提供了JSTL(JavaServer Pages Standard Tag Library)这样的标准标签库,可以帮助开发者更加高效地开发JSP应用。 总之,掌握JSP标签库的开发不仅能够提高JSP页面的可读性和可维护性,还能帮助开发者更...

    [搜索链接]淘特搜索引擎共享版_tot_search_engine.zip

    描述中提到,这是几年前的一个JavaJsp应用的源码Demo,主要目的是为了学生们的毕业设计学习。这表明该项目具有教学价值,可以作为学习和理解如何构建搜索引擎的实例,特别适合那些正在准备毕业设计或对JavaWeb开发感...

    Struts2+spring+hibernate(登录与注册模块)

    在给定的文件列表中,`WEBDEMO.SQL`可能包含了数据库表结构和初始数据,`ReadMe.txt`可能是项目说明或者部署指南,`BBSDemo-Eclipse`和`BBSDemo-Tomcat`可能分别是Eclipse项目和Tomcat服务器的配置文件或部署目录。...

    SpringBoot入门之集成JSP的示例代码

    如果页面正确显示,并且能够看到从Controller传递过来的`name`变量的值,说明JSP已经成功集成到SpringBoot项目中了。 #### 小结 通过上述内容,我们可以了解到如何将JSP集成到SpringBoot项目中,并通过一个简单的...

Global site tag (gtag.js) - Google Analytics