Core 核心标签库->运算式操作

时间:2023-03-08 20:54:37

jstl--->Core 核心标签库->运算式操作

   -->out、remove、set、catch

  <c:out>:用来显示资料的内容

    语法1:没有本体的内容 <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />

    语法2:有本体的内容<c:out value="value" [escapeXml="{true|false}"]>default

    属性:value:需要显示出来的值

       default:如果value值为null,则显示default的值

       escapeXML:是否转换特殊字元,默认情况下<c:out>会将<、>、'、"、&转换为&lt; &gt;' " &amp;,如果不想转换,只要设定escapeXML为false就可以了

    举个栗子:

      <c:out value="Hello JSP 2.0 !! " />

      <c:out value="${ 3 + 5 }" />

      <c:out value="${ param.data }" default="Nodata" />

      <c:out value="<p>假装有文字 </p>" />

      <c:out value="<p>假装有文字 </p>" escapeXml="false" />

      Hello JSP 2.0 !!

       8

      显示传过来的data值,若为空,显示Nodata

      <p>假装有文字 </p>

       假装有文字

  <c:set>:主要用于将变数存储至jsp范围中或者Javabean的属性中

    语法1:将value的值存储至范围为scope的valueName变量当中  <c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>

    语法2:将文本内容的资料存储至范围为scope的valueName变量当中  <c:set var="varName" [scope="{ page|request|session|application }"]>  本体内容...  </c:set>

    语法3:将value的值存储至target的属性当中  <c:set value="value" target="target" property="propertyName" />

    语法4:将文本内容的资料存储至target属性当中  <c:set target="target" property="propertyName">  本体内容...  </c:set>

    属性:

      value:要被存储的值

      var:要存入的变量名

      scope:var变数的jsp范围  target:为Javabean或者Java.util.Map

      property:指定target的属性

    举几个栗子

      <c:set var="number" scope="request" value="${1 + 1}" />

      <c:set var="number" scope="session" />  ${3 + 5}  </c:set>

      <c:set var="number" scope="request" value="${ param.number }" />

      <c:set target="User" property="name" value="${ param.Username}" />

      将2存入request的number中

      将8存入session的number中

      将${ param.number }存入request的number中,若${ param.number }为null,移除request中的number属性

      将${ param.number }存入request的number中,若${ param.number }为null,将移除request中的number属性设为null

  <c:remove>移除变量

    语法:  <c:remove var="varName" [scope="{ page|request|session|application }"] />

    属性:  var:要移除的变量名称

         scope:var的jsp范围

    栗子  <c:remove var="number" scope="session" />

      将number从session中移除,若我们不设置scope,则<c:remove>将会从page、request、session然后application的顺序寻找并删除

  <c:catch>  主要用来处理产生错误的例外状况,并将错误讯息存储起来

    语法  <c:catch [var="varName"] >  错误信息...  </c:catch>

    属性  var:用来存储错误信息的变量名

    说明:用<c:catch>将可能发生错误的部分包住,类似try、catch、一旦发生异常,错误信息就会被保存在varName中,只有报错被包住的程序会被终止忽略,但整个页面不会  被终    

        止,就是说怎么样页面都会有内容,不会报500/404/400之类的错,错误不会被前端看见,不至于整个页面崩掉