zoukankan      html  css  js  c++  java
  • 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"/>
  • 相关阅读:
    up_modembin.sh
    cpu主频信息
    计算机网络中通信协议都有哪些
    可导与连续的关系
    linux块设备驱动之实例
    CentOs 设置静态IP 方法
    phalcon:非空字段不能在beforeCreate赋值,可以改用beforeValidationOnCreate
    phalcon: crypt-encrypt/decrypt用法
    phalcon: 缓存片段,文件缓存,memcache缓存
    phalcon: 视图分层渲染,或包含其他页面
  • 原文地址:https://www.cnblogs.com/aeolian/p/7728129.html
Copyright © 2011-2022 走看看