JSP 標籤字符串操作

 

<%@ page language="java" pageEncoding="UTF-8" isELIgnored="false"%>

 

EL表達式:

 

截取字符串:

 

1

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

2

${fn:substring(notification.note,fn:indexOf(notification.note, "當")+1,fn:indexOf(notification.note, "的"))}

 

替換字符串

 

${fn:replace(picture.picUrl,".","_min.")}

 

迭代Map

<c:forEach items="${resultMap}" var="entry" varStatus="mapIndex">
        <c:forEach var="tp" items="${entry.value}" varStatus="index">
         <c:if test="${fn:contains(entry.key,'包含內容')}"> 字符串包含檢測
          <c:set var="picUrl" value="${tp}"></c:set>
          <li>
          <a href="<%=basePath%>cityplans/photo.jsp?picUrl=${tp}" target="photo" οnclick="changeType('${tp}');" class="t1">${entry.key}${index.count}</a>
          </li>
         </c:if>
        </c:forEach>
 </c:forEach>

 

判斷字符串:

1<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 

2

<c:forEach var="notification" items="${requestScope.notificationList}">

      <c:when test="${requestScope.notificationList[0].type eq 'agentinvite'}">

<c:forEach>

 

 

格式化日期

 

1

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

 

2

<fmt:formatDate value="${notification.addTime}" type="both"/>

 

取得url參數

$(param.name)

 

操作符

JSP 表达式语言提供以下操作符,其中大部分是 Java 中常用的操作符:

 

术语定义

算术型

+、-(二元)、*、/、div、%、mod、-(一元)

逻辑型

and、&&、or、||、!、not

关系型

==、eq、!=、ne、、gt、<=、le、>=、ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。

空操作符是前缀操作,可用于确定值是否为空。

条件型A ?B :C。根据 A 赋值的结果来赋值 B 或 C。

 

= = 或 eq | 等于 |${ 5 = = 5 } 或 ${ 5 eq 5 } | true
!= 或 ne | 不等于 |${ 5 != 5 } 或 ${ 5 ne 5 } | false
< 或 lt | 小于 |${ 3 < 5 }或 ${ 3 lt 5 } | true
> 或 gt | 大于 |${ 3 > 5 }或 ${ 3 gt 5 } | false
<= 或 le | 小于等于 |${ 3 <= 5 }或 ${ 3 le 5 } | true
>= 或 ge | 大于等于 |${ 3 >= 5 }或 ${ 3 ge 5 } | false

 

empty运算符
Empty运算符主要用来判断值是否为null或空的,例如:
${ empty param.name }

 

 <%

       pageContext.setAttribute("username", null);

       pageContext.setAttribute("password", "");

       pageContext.setAttribute("title", "The Way Of Java");

       pageContext.setAttribute("time", new java.util.Date());

 %>

       ${empty username}<br><!-- true -->

       ${empty password}<br><!-- true -->

       ${empty title}<br><!-- false -->

       ${empty time}<br><!-- false -->

 

struts2表達式

看到这一差别才轰然醒悟过来,原来是在 Servlet 2.4 与 Servlet 2.3 的差别。Tomcat 5.0.28 是能支持 Servlet2.4/JSP 2.0 的,JSP 2.0 是可以用 EL 表达式,而之前版本是不行的,正式这一声明指示着容器应如何解析和编译 JSP 的,而产生未曾意料到的结果。
   对于取pageContext、parameters、request、session、application 等处的属性值(假如有 name 属性)时我们用的 EL 表达式分别是:
${pageScope.name}、${param.name}、{$requestScope.name}、{$sessionScope.name}、{$applicationScope.name}
那么对应的 OGNL 的解决方案分别是:
<s:peroperty value="#attr.name"/>
<s:property value="#parameters.name"/>
<s:property value="#request.name"/>
<s:property value="#session.name"/>
<s:property value="#application.name"/>
<s:textfield name="name"  value="%{#parameters.name}"/> 

 

JSP的3种方式实现radio ,checkBox,select的默认选择值

1

<td width="27"><input type="radio" name="state" value="AL" 〈%if(state.equal("AL")) out.print("checked")%〉/>

2

<td width="27">
                     <c:choose>
                       <c:when test="${state=='AL'}">
                         <input type="radio" name="state" value="AL" checked="checked"/>
                   
    </c:when>
                       <c:otherwise
>
                         <input type="radio" name="state" value="AL"  />
                      
</c:otherwise>
                     </c:choose>
                    <c:choose>


 <td width="27">

3

<td width="27"><input type="radio" name="state" value="AL" ${(state=='AL')?'checked="checked"' : ''}/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值