EL与JSTL表达式代码示例

js代码示例:

<%@ page language="java" isELIgnored="false"
	contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
	//向page作用域中设置属性
	pageContext.setAttribute("pageAttr", "page中的属性");
	pageContext.setAttribute("pname", "pageName");
	pageContext.setAttribute("count", 100);
	pageContext.setAttribute("nil", null);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EL表达式+JSTL</title>
<script type="text/javascript">
	window.onload = function() {
		console.log('${color}');
	}
</script>
</head>
<body style="color:${color}">
	<h1>获取作用域中的值</h1>
	<p>xxxScope.key</p>
	<ul>
		<li>page中:${pageScope.pageAttr }</li>
		<li>request中:${requestScope.requestAttr }</li>
		<li>session中:${sessionScope.sessionAttr }</li>
		<li>application中:${applicationScope.applicationAttr }</li>
	</ul>
	<hr />
	<p>实际上可以省略sope</p>
	<ul>
		<li>page中:${pageAttr }</li>
		<li>request中:${requestAttr }</li>
		<li>session中:${sessionAttr }</li>
		<li>application中:${applicationAttr }</li>
	</ul>
	<p>获取name</p>
	<p>${name }</p>
	<p>tips:在没有指定作用域的情况下,默认查找顺序 page>request>session>application</p>
	<p>el表达式运算</p>
	算数运算:${count+100 }
	<br /> 关系运算:${count>200 }
	<br /> 逻辑运算:${count>90 && count+100<201 }
	<p>EL对null的处理</p>
	${nil } ${abc } ${def==null?'为null':"不为null" }
	<p>tips:当el获取一个为null的值时,不会做任何输出</p>
	<hr />
	<p>POJO属性获取</p>
	<ul>
		<li>String属性:${com.brand }</li>
		<li>float属性:${com.price }</li>
		<li>属性导航:${com.board.brand }</li>
	</ul>
	<p>获取集合</p>
	<ul>
		<li>整个集合${coms }</li>
		<li>获取其中的某一个:${coms[2] }</li>
		<li>获取电脑的属性:${coms[2].brand }</li>
	</ul>
	<p>获取map</p>
	<ul>
		<li>获取整个map:${map }</li>
		<li>获取其中一个值:${map.com1 }</li>
		<li>获取其中一个值:${map["com1"] }</li>
		<li>获取其中一个值的属性:${map["com1"].brand }</li>
	</ul>
	<p>EL获取请求参数</p>
	<ul>
		<li>获取单个参数 :${param.name }</li>
		<li>获取所有的请求值:${paramValues.op  }</li>
	</ul>
	<p>EL获取请求头</p>
	<ul>
		<li>获取单个的请求头:${header.Host }</li>
		<li>获取所有的请求头map:${headerValues }</li>
	</ul>
	<p>获取Cookie</p>
	<ul>
		<li>获取所有的cookie:${cookie }</li>
		<li>获取单个cookie:${cookie.loginTime} }</li>
	</ul>
	<p>获取当前web应用的名称</p>
	<h2>${pageContext.request.contextPath }</h2>

	<hr />
	<p>JSTL</p>
	<p>输出:c:out</p>
	<p>
		<c:out value="abc" />
		--
		<c:out value="${param.name }" />
	</p>
	<p>c:if标签</p>
	<p>
		<c:if test="${count>100 }" var="r" scope="request">
		count>100<br />
		</c:if>
		r=${requestScope.r }
	</p>
	<p>c:choose</p>
	<p>
		<c:choose>
			<c:when test="${count>100 }">
			大于100
		</c:when>
			<c:when test="${count==100 }">
			等于100
		</c:when>
			<c:otherwise>
			小于100
		</c:otherwise>
		</c:choose>
	</p>
	<p>c:foreach</p>
	<p>
		<c:forEach begin="1" end="6" step="2" varStatus="status">
			${status.index }geekHome<br>
		</c:forEach>
	</p>
	<p>
		<c:forEach items="${coms }" var="com" varStatus="status">
			${status.index }--${com.brand }-${com.price }<br/>
		</c:forEach>
	</p>
	<hr/>
	<p>格式化标签</p>
	<p>日期格式化</p>
	<p>${date }<br/>
		<fmt:formatDate value="${date }" pattern="yyyy-MM-dd HH:mm:ss"/>
	</p>
	<p>格式化数字</p>
	<p><fmt:formatNumber value="${num }" pattern="###,###.##"/></p>
</body>
</html>

java代码示例:

package com.igeek.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.igeek.pojo.Computer;
import com.igeek.pojo.MainBoard;

/**
 * Servlet implementation class ElServlet
 */
public class ElServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public ElServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//向三个作用域中分别设置属性,添加数据
		request.setAttribute("requestAttr", "request中的属性");
		request.setAttribute("rname", "requestName");
		HttpSession session = request.getSession();
		session.setAttribute("sessionAttr", "session中的属性");
		session.setAttribute("name", "sessionName");
		ServletContext application = this.getServletContext();
		application.setAttribute("applicationAttr", "application中的属性");
		application.setAttribute("name", "applicationName");
		
		request.setAttribute("color", "#000");
		
		//创建computer
		Computer com = new Computer();
		com.setBrand("联想");
		com.setPrice(9000f);
		//创建MainBoard
		MainBoard board = new MainBoard();
		board.setBrand("华硕");
		board.setPrice(1000f);
		com.setBoard(board);
		request.setAttribute("com", com);
		//创建集合
		List<Computer> coms = new ArrayList<>();
		coms.add(new Computer("联想", 10000));
		coms.add(new Computer("弘基", 10000));
		coms.add(new Computer("戴尔", 10000));
		//将集合存入reuquest中
		request.setAttribute("coms", coms);
		
		//创建一个map
		Map<String,Computer> map = new HashMap<>();
		map.put("com1", new Computer("联想", 10000));
		map.put("com2", new Computer("华硕", 10000));
		map.put("com3", new Computer("苹果", 10000));
		//将map存入request中
		request.setAttribute("map", map);
		//存储一个日期
		request.setAttribute("date", new Date());
		//在request中存储一个数字
		request.setAttribute("num", 234534534.1231);
		//转发到result.jsp中
		request.getRequestDispatcher("result.jsp?name=igeek&op=add&op=save&op=insert").forward(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

猜你喜欢

转载自blog.csdn.net/qq_15204179/article/details/82084193