当前位置: 首页 > news >正文

宿迁市建设局网站首页合肥建设集团招聘信息网站

宿迁市建设局网站首页,合肥建设集团招聘信息网站,网站怎样建设,24小时学会网站建设 百度云JSTL核心标签库包含了一组用于实现WEB应用中的通用操作的标签#xff0c;JSP规范为核心标签库建议的前缀名为c。 1.3.1 c:out标签 c:out 标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中#xff0c;在通常情况下#xff0c;pageContext…JSTL核心标签库包含了一组用于实现WEB应用中的通用操作的标签JSP规范为核心标签库建议的前缀名为c。 1.3.1  c:out标签 c:out 标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中在通常情况下pageContext对象当前保存的“out”对象 的数据是输出到客户端浏览器所以c:out 标签通常用于输出一段文本内容到客户端浏览器。如果c:out 标签输出的文本内容中包含了需要进行转义的HTML特殊字符例如、、、、等c:out 标签默认对它们按表1.2进行HTML编码转换后再进行输出这样就可以在浏览器中显示出这些字符。 表1.2 特殊字符转换 c:out标签标签有两种语法格式 语法1没有标签体的情况 c:out valuevalue      [escapeXml{true|false}]      [defaultdefaultValue] / 语法2有标签体的情况在标签体中指定输出的默认值 c:out valuevalue      [escapeXml{true|false}]   default value /c:out c:out标签的属性说明如表1.3所示。 表1.3  c:out标签的属性 属性名 是否支持EL 属性类型 属 性 描 述 value true Object 指定要输出的内容 escapeXml true Boolean 指定是否将、、、、 等特殊字符进行HTML编码转换后再进行输出。默认值为true default true Object 指定如果value属性的值为null时所输出的默认值   当且仅当value属性的值为null时c:out 标签输出默认值如果没有指定默认值默认为空字符串。c:out 标签的标签体的内容用于指定输出的默认值如果value属性的值不为null即使标签体部分不为空标签体的内容也不会被输出。如果value属性不 是指向一个java.io.Reader对象c:out 标签将调用这个对象的toString方法然后输出获得的字符串内容。如果value属性指向一个java.io.Reader对 象c:out 标签将从这个Reader对象中读取数据后进行输出当有大量数据要被输出时将这些数据以Reader对象的形式提供给c:out标签 进行输出将会极大提高系统性能。当采用escapeXml属性的默认设置值true时c:out标签将对要输出的特殊字符按表1.2 进行转换如果将escapeXml属性设置为falsec:out标签将不对要输出的特殊字符进行转换而是直接输出这些特殊字符。 例程1-3是c:out 标签的一个演示例子程序。 例程1-3  c_out1.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % % page contentTypetext/html;charsetgb2312 % %   session.setAttribute(test_session, testValue_session); % 直接输出一个字符串 c:out valuetest default123456 /br /hr / 输出Web域中不存在的属性的值br / c:out value${test_request} default这个属性不存在/br /hr / 输出Web域中的test_session属性的值br / c:out value${test_session} /     例程1-3的运行结果如图1.1所示。 图1.1 例程1-4和例程1-5是两个用于演示c:out标签的escapeXml属性的例子程序例程1-4没有设置escapeXml属性例程1-5将escapeXml属性设置为了false。 例程1-4  c_out2.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % c:out value${null}   meta http-equivrefresh content0;urlhttp://www.it315.org / /c:out     例程1-5 c_out3.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % c:out value${null} escapeXmlfalse   meta http-equivrefresh content0;urlhttp://www.it315.org / /c:out     例程1-4和例程1-5的运行结果分别如图1.2和图1.3所示。 图1.2 图1.3 1.3.2  c:set标签 c:set标签用于设置各种Web域中的属性或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性。c:set标签有四种语法格式 语法1使用value属性设置指定域中的某个属性的值 c:set valuevalue      varvarName      [scope{page|request|session|application}] / 语法2在标签体中设置指定域中的某个属性的值 c:set varvarName      [scope{page|request|session|application}]   body content /c:set 语法3使用value属性设置Web域中的一个属性对象的某个属性 c:set valuevalue      targettarget      propertypropertyName / 语法4在标签体中设置Web域中的一个属性对象的某个属性性 c:set targettarget      propertypropertyName   body content /c:set c:set标签的属性说明如表1.4所示。 表1.4 c:set标签的属性 属性名 是否支持EL 属性类型 属 性 描 述 value true Object 用于指定属性值 var false String 用于指定要设置的Web域属性的名称 scope false String 用于指定属性所在的Web域 target true Object 用于指定要设置属性的对象这个对象必须是JavaBean对象或java.util.Map对象 property true string 用于指定当前要为对象设置的属性名称   如果使用第1种语法格式时的value属性值为null或者使用第2种语法格式时的标签体内容为空c:set标签将从scope属性指定的域范围中删除var属性指定的属性。 在第3种语法格式和第4语法格式中如果target属性的值是java.util.Map对象property属性表示该Map对象的关键字 如果Map对象没有指定的关键字就给Map对象增加指定的关键字如果target属性的值是JavaBean对象property属性表示 JavaBean对象的属性如果value的类型与JavaBean属性的类型不匹配时会根据EL的转换规则自动进行转换。当使用第3种语法格式或第 4种语法格式时如果target属性的值为null(即target属性指定的对象不存在)或者target属性的值是一个JavaBean对象但 该JavaBean中不存在property属性指定的属性c:set标签将抛出异常。如果使用第3种语法格式时value属性的值为 null或者使用第4种语法格式时标签体的内容为空如果target属性的值是一个java.util.Map对象就从Map对象中删除 property属性指定的关键字对应的项如果target属性的值是一个JavaBean对象就将JavaBean的相应属性的值设置为null。 例程1-6是使用c:set标签设置某个Web域中的属性的一个演示例子程序。 例程1-6 c_set1.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % % page contentTypetext/html;charsetgb2312 % c:set varuserName scopesession   zxx /c:set 输出session 作用域中的userNamer属性的值: c:out value${userName} /br /hr / 输出session 作用域中的bookname属性的值: c:set varbookname scopesession / c:out value${bookname} /     例程1-6的运行结果如图1.4所示。 图1.4 例程1-7是使用c:set标签设置UserBean对象和Map对象的属性的一个演示例子程序。 例程1-7  c_set2.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % % page contentTypetext/html;charsetgb2312 % % page importjava.util.HashMap % jsp:useBean iduser classorg.it315.UserBean / %     HashMap preferences new HashMap();   session.setAttribute(preferences,preferences); % 设置和输出UserBean对象的userName属性值: c:set valuezxx target${user} propertyuserName / c:out value${user.userName} /br /hr / 设置和输出UserBean对象的password属性值: c:set target${user} propertypassword / c:out value${user.password} /br /hr / 设置和输出Map对象的color关键字的值: c:set target${preferences} propertycolor value${param.color} / c:out value${preferences.color} /     在浏览器地址栏输入如下地址访问例程1-7   http://localhost:1010/JSTL/c_set2.jsp?colorgreen 例程1-7的运行结果如图1.5所示。 图1.5 1.3.3  c:remove标签 c:remove标签用于删除各种Web域中的属性其语法格式如下 c:remove varvarName      [scope{page|request|session|application}] / var属性用于指定要删除的属性的名称scope属性用于指定要删除的属性所属的Web域它们的值都不能接受动态值。如果没有指定scope属性c:remove标签就调用PageContext.removeAttribute(varName)方法否则就调用PageContext.removeAttribute(varName, scope) 方法。c:remove与c:set标签第一种语法格式的value属性值为null时的作用相同。 例程1-1是使用c:remove标签的一个演示例子程序。 例程1-1 c_remove.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % % page contentTypetext/html;charsetgb2312 % c:set valueorg.it315 varcompany scoperequest / c:set varpassWord scopesession   a123456a /c:set 在没有使用 lt;c:removegt; 标签之前变量的值为br / company:c:out value${company} /br / passWord:c:out value${passWord} /br / c:remove varcompany scoperequest / !--c:set varcompany scoperequest 此行与黑体字的一行作用是一样的/-- c:remove varpassWord scopesession /hr / 在使用 lt;c:removegt; 标签之后变量的值为br / company:c:out value${company} /br / passWord:c:out value${passWord} /     例程1-1的运行结果如图1.6所示。 图1.6 1.3.4  c:catch标签 c:catch标签用于捕获嵌套在标签体中的内容抛出的异常其语法格式如下 c:catch [varvarName]   nested actions /c:catch var属性用于标识c:catch标签捕获的异常对象其值是一个静态的字符串不支持动态属性 值。c:catch标签将捕获的异常对象以var指定的名称保存到page这个Web域中如果没有指定var属性 则c:catch标签仅捕获异常不在page域保存异常对象。如果c:catch标签体中的内容没有抛出异 常c:catch标签将从page域中删除var属性指定的属性。 c:catch标签可以捕获任何标签抛出的异常并且可以同时处理多个标签抛出的异常这样可以对JSP页面的异常进行统一处 理显示给用户一个更友好的页面。JSP处理异常的通用机制是出现重要异常后跳转到错误处理页面建议尽量不要用c:catch标签来代 替JSP的错误处理机制只对一些次要异常才使用c:catch标签进行捕获处理。 例程1-9是使用c:catch标签进行异常捕获处理的一个演示例子程序。 例程1-9  c_catch.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % % page contentTypetext/html;charsetgb2312 % c:catch varmyex %   int i 0;   int j 10;   out.println(j / i j/i); % /c:catch 异常c:out value${myex} /br / 异常 myex.getMessagec:out value${myex.message} /br / 异常 myex.getCausec:out value${myex.cause} /br / 异常 myex.getStackTracec:out value${myex.stackTrace} /     在例程1-9中c:catch标签内嵌套的脚本元素抛出了异常c:catch varmyex将捕获到这个异常调用c:out value${myex.message} /相当于调用%myex.getMessage()%。例程1-9的运行结果如图1.7所示。 图1.7 1.3.5  c:if标签 JSP页面的显示逻辑中也经常需要进行条件判断c:if标签可以构造简单的“if-then”结构的条件表达式如果条件表达式的结果为真就执行标签体部分的内容。c:if标签有两种语法格式 语法1没有标签体的情况 c:if testtestCondition varvarName      [scope{page|request|session|application}] / 语法2有标签体的情况在标签体中指定要执行的内容 c:if testtestCondition [varvarName]      [scope{page|request|session|application}]   body content /c:if c:if标签的属性说明如表1.5所示。 表1.5   c:if标签的属性 属性名 是否支持EL 属性类型 属 性 描 述 test true boolean 决定是否处理标签体中的内容的条件表达式 var false String 用于指定将test属性的执行结果保存到某个Web域中的某个属性的名称 scope false String 指定将test属性的执行结果保存到哪个Web域中   对于语法2如果指定了c:if标签的scope属性则必须指定var属性。 例程1-10是使用c:if标签的一个演示例子程序。 例程1-10  c_if.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % % page contentTypetext/html;charsetgb2312 % jsp:useBean iduser classorg.it315.UserBean / c:set value${param.count} target${user} propertyvisitCount / c:if test${user.visitCount 1}   这是您第一次访问本网站欢迎您 /c:if     在浏览器地址栏输入如下地址访问例程1-10   http://localhost:1010/JSTL/c_if.jsp?count1 例程1-10的运行结果如图1.1所示。 图1.1 1.3.6  c:choose标签 c:choose标签用于指定多个条件选择的组合边界它必须与c:when 和c:otherwise标签一起使用。使用c:choosec:when 和c:otherwise三个标签可以构造类似 “if-else if-else” 的复杂条件判断结构。 c:choose标签没有属性在它的标签体内只能嵌套一个或多个c:when标签和0个或一 个c:otherwise标签并且同一个c:choose标签中的所有c:when子标签必须出现 在c:otherwise子标签之前。如果c:choose标签内嵌套一个c:when标签 和c:otherwise标签就相当于“if-else”的条件判断结构如果c:choose标签内嵌套多 个c:when标签和一个c:otherwise标签就相当于“if-else if-else”标签。 c:when标签只有一个test属性该属性的值为布尔类型。test属性支持动态值其值可以是一个条件表达式如果条件表达 式的值为true就执行这个c:when标签体的内容。c:when标签体的内容可以是任意的JSP代 码。c:otherwise标签没有属性它必须作为c:choose标签的最后分支出现。 当JSP页面中使用c:choose标签时嵌套在c:choose标签内的test条件成立的第一 个c:when标签的标签体内容将被执行和输出。当且仅当所有的c:when标签的test条件都不成立时才执行和输 出c:otherwise标签的标签体内容。如果所有的c:when标签的test条件都不成立并 且c:choose标签内没有嵌套c:otherwise标签则不执行任何操作。 例程1-11是使用c:choose、c:when、c:otherwise标签的一个演示例子程序。 例程1-11 c_choose.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % % page contentTypetext/html;charsetgb2312 % c:set value${param.count} varcount / c:choose   c:when test${count 0}      对不起没有符合您要求的记录。   /c:when   c:otherwise      符合您要求的记录共有${count}条.   /c:otherwise /c:choose     在浏览器地址栏输入如下地址访问例程1-11   http://localhost:1010/JSTL/c_choose.jsp?count0 例程1-11的运行结果如图1.9所示。如果将参数count的值修改为10则运行结果如图1.10所示。     图1.9 图1.10   例程1-12是一个综合使用c:if标签和c:choose等标签的例子程序在这个例子程序中首先使 用c:if标签判断表单提交的方式是否是POST如果是就再使用c:choose等标签根据表单提交的内容进行不同 的处理。 例程1-12  c_customLogic.jsp     % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % c:if test${pageContext.request.methodPOST}     c:choose          c:when test${param.favor computer}                Your favourite course is bcomputer/b.          /c:when          c:otherwise                Your favourite course is iother/i.          /c:otherwise     /c:choose /c:if form methodPOSTWhat is your favourite course?br/ input typetext namefavor / input typesubmit valuesubmit / /form     在浏览器地址栏中直接访问c_customLogic.jsp的运行结果如图1.11所示在文本框中输入“computer”单击其中的submit按钮后的运行结果如图1.12所示。 图1.11 图1.12 1.3.7  c:forEach标签 JSP页面的显示逻辑中也经常需要对集合对象进行循环迭代操作c:forEach标签用于对一个集合对象中的元素进行循环迭代操作或者按指定的次数重复迭代执行标签体中的内容。c:forEach标签有两种语法格式 语法1在集合对象中迭代 c:forEach [varvarName]         itemscollection         [varStatusvarStatusName]         [beginbegin] [endend] [stepstep]   body content /c:forEach 语法2迭代固定的次数 c:forEach [varvarName]         [varStatusvarStatusName]         beginbegin endend [stepstep]   body content /c:forEach c:forEach标签的属性说明如表1.6所示。 表1.6  c:forEach标签的属性 属性名 是否支持EL 属性类型 属 性 描 述 var false String 指定将当前迭代到的元素保存到page这个Web域中的属性名称 items true 任何支持的类型 将要迭代的集合对象 varStatus false String 指定将代表当前迭代状态信息的对象保存到page这个Web域中的属性名称 begin true int 如果指定items属性就从集合中的第begin个元素开始进行迭代begin的索引值从0开始编号如果没有指定items属性就从begin指定的值开始迭代直到end值时结束迭代 end true int 参看begin属性的描述 step true int 指定迭代的步长即迭代因子的迭代增量   在使用c:forEach标签时需要注意如下几点说明 l  如果指定begin属性其值必须大于或等于零 l  如果指定步长step属性其值必须大于或等于1 l  如果items属性的值为null则要处理的集合对象为空这时不执行迭代操作 l  如果指定的begin属性的值大于或等于集合对象的长度不执行迭代操作 l  如果指定的end属性的值小于begin属性的值不执行迭代操作   c:forEach标签的items属性的值支持下面的数据类型 l  任意类型的数组 l  java.util.Collection l  java.util.Iterator l  java.util.Enumeration l  java.util.Map l  String items属性还支持与数据库有关的数据类型java.sql.ResultSet(包括javax.sql.RowSet)这 些数据类型将在1.5 节的数据库标签中进行介绍。对字符串的迭代操作通常使用c:forTokens标签或JSTL函数例如fn:split和 fn:jionJSTL函数将在1.7节进行介绍。转载于:https://www.cnblogs.com/forevernight/p/3498103.html
http://www.zqtcl.cn/news/577594/

相关文章:

  • 网站建设例子开发工具宏怎么使用
  • 新乡做网站公司哪个地区网站建设好
  • 网站模板怎么编辑网站定制化
  • 利于优化的网站网络科技公司怎么赚钱
  • 制作网站的步骤和方法做物流的网站有哪些功能
  • vs做网站图片明明在文件夹里却找不到中国建筑网官网找客户信息
  • WordPress仿站培训黑龙江新闻夜航
  • 如何利用开源代码做网站济南做网站互联网公司有哪些
  • 生意网app下载官网郑州做网站优化公
  • wordpress网站更换域名wordpress 小工具定制
  • 上海做机床的公司网站设计网站怎样做色卡
  • 一个网站怎么绑定很多个域名做网站后台应该谁来做
  • 跑纸活做网站加大门户网站安全制度建设
  • 多商户开源商城seo对网店的作用有哪些
  • 提供微信网站建设福州seo建站
  • 泉州市住房与城乡建设网站潍坊网站建设方案外包
  • 网络文化经营许可证怎么申请免费seo提交工具
  • 网站建设 需求分析报告手机网站微信网站开发
  • 做司法考试题目的网站建站中企动力
  • 做360网站优化ppt模板免费下载千图网
  • 网站域名哪些后缀更好项目推广平台有哪些
  • 做游戏特效的网站网站开发中安全性的防范
  • 阿里云网站建设好用吗齐诺网站建设
  • 中小企业网站建设行情嘉兴公司的网站设计
  • 做服装有哪些好的网站台州网站建设多少钱
  • 任县网站建设公司北京网站开发网站开发公司
  • 重庆seo网站策划网站的tdk指的是什么
  • 自做刷赞网站山东东成建设咨询有限公司网站
  • 泉州网站制作推广网站建设一年多少
  • 超大型网站建设公司网站打开显示建设中