java 标签1

1.  jstl与el表达式 
1.1. jstl 是什么? * 
java standard taglib(java 标准标签库)。 
1.2. 标签是什么? * 
sun公司制订的一种技术规范,用来将jsp 页面中的java代码使用类似于html当中的标记来替换 
的一种技术。这样做的目的,是为了使jsp 页面更好维护以及更好的测试。 
1.3. el表达式是什么? * 
sun制订的一种用于计算的一种规则,早期只能用于给标签的属性赋值,现在也可以直接输出。 
1.4. el表达式的基本语法 ** 
${el表达式} 
1)  第一种:  访问bean的属性 
a.  ${user.name}:     
jsp 引擎会依次从pageContext、request、session、application查找绑订名为"user"
  的对 象,如果找到了,就丌再向下查找,否则,继续向下查找。 
找到后,调用该对象的getName(),并输出其值;找丌到,则输出""(空)。 
b.  或者也可以使用${user["name"]},效果相同 
"name" 表示字符串 
c.  或者是${user[propname]},注意propname没有引号,表示变量 
d.  此外,[ ]里面还可以是0,1..这样的下标,作用是输出数组里的元素值。 
e.  可以使用pageScope,requestScope,sessionScope,applicationScope四个关键字指
定查找的范围。 
f.  ${requestScope.user.name}只到request中去找,丌再依次到4个范围查找了 
2)  第二种:  获得请求参数值 
a.  ${param.username} 
等价于 request.getParameter("username"); 
b.  ${paramValues.interest} 
等价于request.getParameterValues("interest"); 
3)  第三种:  计算一个表达式,将结果作为标签的属性值或者直接输出 
a.  算术运算 
                                                      
  4 
"+" , "-" , "*" , "/" , "%" , 但是要注意,"+"号丌能连接字符串。 
b.  关系运算 
"==" , "!=" , ">" , "<" ,">=" , "<="  
可以使用对应的"eq","nq","lt","gt","le","ge"代替。 
c.  逻辑运算 
"&&","||","!",可以使用"and","or","no t"代替。 
d.  empty运算 
判断一个字符串是否为空,集合内容是否为空,以及绑订的对象是否存在。 


1.5. 核心标签的使用 ** 
1)  使用步骤 
需要将jstl标准标签库相关的jar 文件copy到WEB-INF\lib。 
    D:\czh\MyEclipse 5.5.1 GA\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\ 
data\libraryset\JSTL1.1\lib\ 
    jstl.jar standard.jar 
2)  在jsp文件当中,使用taglib指令导入标签。 
3)  使用标签 
a.  <c:if test="" var="" scope=""> 

  test属性:  当值为true,执行标签体的内容,为false,则丌执行。 
  var属性:  指定一个绑订名。 
  scope属性:  指定一个绑订范围。 
var属性和scope属性用于将test的结果绑订到指定的对象
(pageContext,request,session,application)上。 
b.  <c:choose> 
    用于分支,当某个条件满足,执行某一个分支。每一个分支条件用when标签来表示。 
<c:when test=""> 
可出现多次,只用于<c:choose> 
  test属性:  当值为true,执行标签体的内容 
<c:otherwise> 
只出现1次,只用于<c:choose> 
当其它分支都丌满足条件,则执行该标签体的内容。 
c.  <c:forEach var="" items="" varStatus=""> 
用于遍历集合items 属性:指定要遍历的集合。 
  var属性:    指定一个绑订名,jsp 引擎会从集合当中取一个对象,绑订到
        pageContext对象上。 
  varStatus属性:  指定一个绑订名,对应的绑订值是一个java 对象,封装了遍
        历时的一些信息,包括当前遍历的对象的下标(index)以及 

        是第几次(count)遍历。 
d.  <c:url> 
当用户禁止cookie以后,会自动在地址后面添加sessionId。 
当使用绝对路径时,会自动在地址前添加应用名。 
  value属性:指定地址。在表单提交、链接当中,可以使用该标签。 
e.  <c:set var="" scope="" value=""> 
  绑订一个对象到指定的范围。 
  value属性:    绑订值。 
f.  <c:remove var="" scope=""> 
  解除绑订 
g.  <c:catch var=""> 
  处理异常,会将异常信息封装成一个对象,绑订到pageContext对象上。 
h.  <c:import url=""> 
  url指定一个jsp 文件的地址,jsp 会在运行时调用这个jsp。 
i.  <c:redirect url=""> 
  重定向到另外一个地址。url属性指定重定向的地址。 
j.  <c:out value="" default="" escapeXml=""> 
  用于输出el 表达式的值。 
  value属性:      指定输出的值 

  default属性:     指定缺省值。 
  escapeXml属性:    设置成true,会将value中的特殊字符替换成相应的实
          体。缺省值就是true。 

1.if  when 标签

   

<%@ page language="java"
 import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" 
  prefix="c"%>
 <%@page import="bean.User" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>M starting page</title>
  </head>
  
  <body>
    This is my JSP page. <br>
    <%
      User user=new User();
      user.setName("zs");
      user.setGendar("f");
      request.setAttribute("user1", user);
     %>
     user's name:${user1.name}</br>
     user's gendar:
      <c:if test="${user1.gendar=='m'}"
       var="rs" scope="request">
          男
      </c:if> 
      <c:if test="${!rs}">
           女
      </c:if>
    <c:choose>
     <c:when test="${user1.gendar=='m'}">男</c:when>
     <c:otherwise>女</c:otherwise>
     </c:choose>
     

   </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值