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);
}
}