JSTL
JSTL 标签库介绍
JSTL 标签库 是指 JSP Standard Tag Library JSP 标准标签库
EL 表达式是为了替换 jsp 中的表达式脚本,JSTL 是为了替换代码脚本。这样 jsp 页面变得更佳简洁
JSTL 由五个标签库组成
使用 JSTL,需要导入相关的 jar包
代码示例
jstl的快速入门
jstl的快速入门
2){
out.println("10 > 2 成立~")
}
--%>
10 > 2 成立~
注意细节
● taglib 引入标签,要放在行首
● 导入 jstl jar 包后,要重新发布 web 工程,否则不识别 jstl
core 核心库
set 标签可以往域中保存数据
等价 域对象.setAttribute(key,value);
scope 属性设置保存到哪个域
page 表示 PageContext 域(默认值)
request 表示 Request 域
session 表示 Session 域
application 表示 ServletContext 域
var 属性设置 key 是什么
value 属性设置
应用实例
c:set标签的使用
c:set标签的使用
c:set-name的值${requestScope.name}
if 标签用来做 if 判断。
test 属性表示判断的条件(用 EL 表达式输出)
应用实例
c:if标签使用
${num1} > ${num2}
标签
介绍: 多路判断。跟 switch ... case .... default 非非常接近
应用实例
如果${requestScope.score} 那么就明确的指定从request域对象取出数据
如果${score}, 这是就按照从小到大的域范围去获取 pageContext->request->session->application
c:choose标签的使用
c:choose标签的使用
request->session->application
--%>
k1=${k1}
${score}-成绩优秀
${score}-成绩一般, 及格了
${score}-没有及格,下次努力~
标签
介绍: c:forEach 标签 用来遍历输出, 主要有 4 种形式
● 普通遍历输出 i 到 j
● 遍历数组
● 遍历 Map
● 遍历 Lis
应用实例
c:forEach 标签
c:forEach 标签
第1种遍历方式从i到j
${monster.id}
${monster.name}
${monster.skill}
QueryServlet.java
public class QueryServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. 准备要显示的数据--> 从DB
ArrayList list = new ArrayList();
list.add(new Monster(100, "牛魔王", "芭蕉扇"));
list.add(new Monster(200, "狐狸精", "美人计"));
list.add(new Monster(300, "白骨精", "吃人骨头"));
//2. 把list放入到request域, 供jsp页面使用
request.setAttribute("monsters", list);
//3. 请求转发 list.jsp
request.getRequestDispatcher("/hm/list.jsp")
.forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
query.jsp
查询妖怪
查询妖怪
点击查询所有的妖怪