Javaweb基础复习------EL表达式+JSTL-if&foreach
EL表达式------简化JSP页面的Java代码
主要功能是------获取数据(语法:${data})
举例:
//ServletDemo1.java
package com.example.servlet;
import com.example.pojo.User;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@WebServlet("/ServletDemo1")
public class ServletDemo1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1、准备数据
List<User> user=new ArrayList<User>();
user.add(new User(1,2,3,"q"));
user.add(new User(2,3,4,"w"));
user.add(new User(3,4,5,"e"));
req.setAttribute("user",user);
req.getRequestDispatcher("demo1.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
//demo1.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>EL</title>
</head>
<body>
${user}
</body>
</html>
JSTL-if&foreach
c标签的简单举例;
我们在使用该标签之前,需要将两个导包导入到模块中,
然后在使用c标签的jsp页面里面加入这样一行代码:
我在使用的时候遇到了这样一个问题:在按部就班地导完包、敲完代码之后,这里的jsp页面一直显示源码,无法按照我理想的状态显示出来,改了好久也不行;
然后,就想要利用编译和断点试试,找一找错误,然后就发现,编译之后,就直接可以用了。
还是编译惹的祸嗷!
在foreach里面,除了上面的环境配置之外,还需要注意到的是,foreach里面备有的相关属性:
items与EL表达式结合,用于获取后端数据;
var用于之后的遍历输出;
也是会用到EL表达式的,较为简单的就不举例啦!