Servlet(name = "QueryServlet", urlPatterns = "/queryServlet")
public class QueryServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("QueryServlet was run...");
//所有妖怪的数据
ArrayList<Monster> allMonsters = new ArrayList<>();
allMonsters.add(new Monster(100, "小妖怪", "巡山的", 345.7));
allMonsters.add(new Monster(200, "大妖怪", "做饭的", 1345.7));
allMonsters.add(new Monster(300, "老妖怪", "打扫位置的", 11345.7));
//获取筛选条件
String selectSal = request.getParameter("sal");
//String转成double
double selectNum = WebUtils.parseDouble(selectSal, 0);
//筛选
//用来放筛选数据的list
ArrayList<Monster> vaildMonsters = new ArrayList<>();
for (Monster monster : allMonsters) {
if (monster.getSal() >= selectNum) {
vaildMonsters.add(monster);
}
}
//将合法数据放到域对象中
request.setAttribute("vaildMonsters", vaildMonsters);
//请求转发到显示页面
request.getRequestDispatcher("/hw/view.jsp").forward(request, response);
}
}
Monster:
package com.li.entity;
public class Monster {
private Integer id;
private String name;
private String skill;
private double sal;
public Monster(Integer id, String name, String skill, double sal) {
this.id = id;
this.name = name;
this.skill = skill;
this.sal = sal;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSkill() {
return skill;
}
public void setSkill(String skill) {
this.skill = skill;
}
public double getSal() {
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
@Override
public String toString() {
return "Monster{" +
"id=" + id +
", name='" + name + '\'' +
", skill='" + skill + '\'' +
", sal=" + sal +
'}';
}
}
WebUtils:
package com.utils;
public class WebUtils {
public static double parseDouble(String strNum, int defaultVal) {
try {
return Double.parseDouble(strNum);
} catch (NumberFormatException e) {
System.out.println(strNum + "不能转成整数");
}
return defaultVal;
}
}
view.jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: li
Date: 2022/11/27
Time: 0:13
Version: 1.0
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>view</title>
</head>
<body>
<h1>显示妖怪信息</h1>
<table border="1px" width="300px">
<tr>
<td>id</td>
<td>name</td>
<td>job</td>
<td>sal</td>
</tr>
<c:forEach items="${requestScope.vaildMonsters}" var="monster">
<tr>
<td>${monster.id}</td>
<td>${monster.name}</td>
<td>${mon