JSTL&EL表達式


Session中的使用

//java代碼將對象存入session
httpSession.setAttribute("CURR_USER",userinfoList.get(0));
//jsp中使用session中的對象
${sessionScope.CURR_USER.username}

JS中使用EL表達式

var str = '${str}' ;
var str = '${obj.屬性名}'; 
只可以再jsp頁面的<script></script>中使用,外部引入的js文件中不能使用。
但是事實情況呢有時候需要在某些插件中js使用,如果是開發時候可以用傳參數之類,用隱藏域之類的.

當開發完畢的時候(比如項目分離),之前js文件中寫死的配置就會出問題,為了簡單可以使用這個方法支持EL表達式
將.js文件改為.jsp,這樣可以讓容器解析里面的el表達式
然后引用再用 <script src="/${appName}/commons/jq22.jsp"></script> 告訴引入的文件是個script.

但是把.js文件改成.jsp的話,長時間以后下一個維護人員會很困惑這是什么東東,所以可以采用這個方法
在一個公用的外部.js文件中配置一個全局變量.在插件中的.js文件中使用這個全局變量(當然.jsp文件要同時引入這兩個文件)

EL與JSTL標簽聯用

引用

jsp文件引入

JSTL 1.0 聲明:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
JSTL 1.1 之后聲明:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

c標簽

使用c:標簽

<!-- 設置值 -->
<c:set var="salary" scope="session" value="${2000*2}"/>

<!-- if語句 -->
<c:if test="${salary > 2000}">
   <p>工資: <c:out value="${salary}"/><p>
</c:if>

<!-- choose語句 -->
<c:choose>
    <c:when test="${salary <= 0}">
       太慘了。
    </c:when>
    <c:when test="${salary > 1000}">
       不錯的薪水,還能生活。
    </c:when>
    <c:otherwise>
        啥都沒有。
    </c:otherwise>
</c:choose>

if標簽判斷為空

<c:if test="${!empty user.name}">user的name屬性不為空時顯示</c:if>

<c:forEach>標簽

集合中的對象

<c:forEach  items="${sessionScope.userList}"  var="userItem"  varStatus="userStatus"> 
    ${userItem.鍵名} 
</c:forEach>

c:forTokens標簽

<c:forTokens>標簽通過指定分隔符將字符串分隔為一個數組然后迭代它們

<c:forTokens items="google,baidu,biying" delims="," var="engine">
   <c:out value="${engine}"/><p>
</c:forTokens>

JSTL提供format標簽

el表達式直接顯示日期格式化問題.

<!--1.首先引入標簽庫-->
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>  
<!--2.在需要顯示日期的地方調用fmt標簽即可-->
<fmt:formatDate value="${order.submit_time}" pattern="yyyy-MM-dd HH:mm:ss"/>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM