练习列表
编号名称描述级别
1 el表达式**
2 JSTL核心标签** 注:"*"理解级别"**"掌握级别"***"应用级别
目录
1. 练习1:el表达式**........................................................................................................ 错误!未定义书签。
2. 练习2:JSTL核心标签** (9)
练习1:el表达式**
第一种:访问bean的属性
1)User.java
package bean;
public class User {
private String name;
private int age;
private IdCard card;
private String[] interest;
public String[] getInterest() {
return interest;
}
public void setInterest(String[] interest) {
this.interest = interest;
}
public IdCard getCard() {
return card;
}
public void setCard(IdCard card) {
this.card = card;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
https://www.wendangku.net/doc/ed3976677.html, = name;
}
}
2)IdCard.java
package bean;
public class IdCard {
private String cardNo;
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
}
3)el01.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="bean.*" %>
<%
User user = new User();
user.setName("abc");
user.setAge(22);
IdCard card = new IdCard();
card.setCardNo("100");
user.setCard(card);
user.setInterest(
new String[]{"fishing","sleep"});
request.setAttribute("user1",user);
%>
<%
//User user1 =
// (User)request.getAttribute("user1");
//out.println(user1.getName());
//out.println(user1.getAge());
%>
${https://www.wendangku.net/doc/ed3976677.html,}
${user1.age}
${user1.card.cardNo}
${user1["name"]}
<%
request.setAttribute("propname","name");
%>
${user1[propname]};
${user1.interest[1]}
user's name:${https://www.wendangku.net/doc/ed3976677.html,}
4)访问http://localhost:8080/web10_el/el01.jsp
第二种:获得请求参数值
5)el02.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
username:${https://www.wendangku.net/doc/ed3976677.html,ername}
interest:${paramValues.interest[1]}
interest:${paramValues.interest[0]}
6)访问
http://localhost:8080/web10_el/el02.jsp
?username=zz&&interest=fishing&interest=cooking
第三种:计算一个表达式,将结果作为标签的属性值或者直接输出
7)el03.jsp
<%@ page import="java.util.*"
contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
${1+2}
${"123" + "567" }
${"abc" == "abc"}
${"abc" eq "abc" }
<%
pageContext.setAttribute("str","abc");
%>
${"abc" eq str }
<%
request.setAttribute("str1","");
List list = new ArrayList();
request.setAttribute("list1",list);
request.setAttribute("obj1",null);
%>
空字符结果为true:
${empty str1}
找不到绑订名对应的对象,结果是true:
${empty obj}
集合内容为空,结果为true:
${empty list1}
null,结果为true:
${empty obj1}
8)访问http://localhost:8080/web10_el/el03.jsp
练习2:JSTL核心标签**
1)拷贝Jar包standard.jar、jstl.jar
C:\Program Files\MyEclipse
6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse60120071
0\data\libraryset\JSTL1.1\lib
2)*.tld文件
*.tld文件是标签的描述文件。
3)新建https://www.wendangku.net/doc/ed3976677.html,er
package bean;
public class User {
private String name;
private String gendar;
public String getGendar() {
return gendar;
}
public void setGendar(String gendar) {
this.gendar = gendar;
}
public String getName() {
return name;
}
public void setName(String name) {
https://www.wendangku.net/doc/ed3976677.html, = name;
}
}
4)新建jstl01.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="https://www.wendangku.net/doc/ed3976677.html,er" %>
<%@taglib prefix="c" uri="https://www.wendangku.net/doc/ed3976677.html,/jsp/jstl/core"%>
<%
User user = new User();
user.setName("zs");
user.setGendar("f");
request.setAttribute("user1",user);
%>
user's name:${https://www.wendangku.net/doc/ed3976677.html,}
user's gendar:
var="rs" scope="request"> 男
女
5)访问http://localhost:8080/web10_jstl/jstl01.jsp
6)新建jstl02.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="https://www.wendangku.net/doc/ed3976677.html,er" %>
<%@taglib prefix="c" uri="https://www.wendangku.net/doc/ed3976677.html,/jsp/jstl/core"%>
<%
User user = new User();
user.setName("zs");
user.setGendar("f");
request.setAttribute("user1",user);
%>
user's gendar:
7)访问http://localhost:8080/web10_jstl/jstl02.jsp
8)新建jstl03.jsp
9)访问http://localhost:8080/web10_jstl/jstl03.jsp
10)修改jstl03.jsp
修改显示样式
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="https://www.wendangku.net/doc/ed3976677.html,er,java.util.*" %>
<%@taglib prefix="c" uri="https://www.wendangku.net/doc/ed3976677.html,/jsp/jstl/core"%>
.row1{
background-color:red;
}
.row2{
background-color:yellow;
}
<%
List
User user1 = new User();
user1.setName("zs");
user1.setGendar("f");
User user2 = new User();
user2.setName("ww");
user2.setGendar("m");
users.add(user1);
users.add(user2);
request.setAttribute("users",users);
%>
name | gendar | count | index |
${https://www.wendangku.net/doc/ed3976677.html,} | ${user.gendar} | ${status.count} | count属性代表计数${status.index} | index属性代表下标
11)访问http://localhost:8080/web10_jstl/jstl03.jsp
12)修改jstl03.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="https://www.wendangku.net/doc/ed3976677.html,er,java.util.*" %>
<%@taglib prefix="c" uri="https://www.wendangku.net/doc/ed3976677.html,/jsp/jstl/core"%>
.row1{
background-color:red;
}
.row2{
background-color:yellow;
}
name | gendar | count | index |
${https://www.wendangku.net/doc/ed3976677.html,} | ${user.gendar} | ${status.count} | ${status.index} |
13)新建ActionServlet
package web;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import https://www.wendangku.net/doc/ed3976677.html,er;
public class ActionServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { String uri = request.getRequestURI();
String path = uri.substring(https://www.wendangku.net/doc/ed3976677.html,stIndexOf("/"),
https://www.wendangku.net/doc/ed3976677.html,stIndexOf("."));
if(path.equals("/list")){
List
User user = new User();
user.setName("zs");
user.setGendar("m");
users.add(user);
User user2 = new User();
user2.setName("ww");
user2.setGendar("m");
users.add(user2);
User user3 = new User();
user3.setName("sd");
user3.setGendar("f");
users.add(user3);
request.setAttribute("users",users);
request
.getRequestDispatcher("jstl03.jsp")
.forward(request, response);
}
}
}
14)web.xml
xmlns="https://www.wendangku.net/doc/ed3976677.html,/xml/ns/j2ee" xmlns:xsi="https://www.wendangku.net/doc/ed3976677.html,/2001/XMLSchema-instance" xsi:schemaLocation="https://www.wendangku.net/doc/ed3976677.html,/xml/ns/j2ee https://www.wendangku.net/doc/ed3976677.html,/xml/ns/j2ee/web-app_2_4.xsd">
15)访问http://localhost:8080/web10_jstl/list.do
同样显示结果
16)新建jstl04.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib prefix="c"
uri="https://www.wendangku.net/doc/ed3976677.html,/jsp/jstl/core"%>
<%
session.setAttribute("username","zs");
%>
17)新建jstl05.jsp
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
username:${https://www.wendangku.net/doc/ed3976677.html,ername}
18)当禁用Cookie时
19)访问http://localhost:8080/web10_jstl/jstl04.jsp
a.点击链接将访问jsp05.jsp