通过参数模糊查询 是在文件内容放到List集合中的前提下

首先 定义全局List
List list = new ArrayList();

@RequestMapping(“selectBy”)
public String productList(String proname,String leix,String pingpai,String jiage,Model model) throws Exception {
float jg =0;
if(jiage !=null && jiage != “”){
jg =Float.parseFloat(jiage);
}
System.out.println(list.size());
List lista = new ArrayList();
if(proname!=null && proname !=""){
for (int i = 0;i<list.size();i++){
ProductClass productClass1 = list.get(i);
if(proname.equals(productClass1.getProname())){
lista.add(productClass1);
}
}
}
List listb = new ArrayList<>();
if(leix !=null && leix !=""){
for(int i = 0 ; i<list.size(); i++){
ProductClass productClassb = list.get(i);
if(leix.equals(productClassb.getLeix())){
listb.add(productClassb);
}
}
}

List<ProductClass> listc =new ArrayList<>();
if(pingpai!=null && pingpai != ""){
    for (int i = 0;i<list.size();i++){
        ProductClass productClassc = list.get(i);
        if(pingpai.equals(productClassc.getPingpai())){
            listc.add(productClassc);
        }
    }
}
List<ProductClass> listd = new ArrayList<>();
if(jiage !=null && jiage!=""){
for (int i = 0;i<list.size();i++){
    ProductClass productClassd = list.get(i);
    if(jg == productClassd.getJiage()){
        listc.add(productClassd);
    }
}

}
//上面就是把带参数的list全部查询出来对应的内容
//考虑到去重,所以用map去重
Map<String,ProductClass> map = new HashMap<String,ProductClass>();
//通过名字来查询到所对应的条数

if(lista.size()>0){
    for(int i = 0;i<lista.size();i++){
        map.put(lista.get(i).getProname(),lista.get(i));
    }
}
if(listb.size()>0){
    for(int i = 0 ; i <listb.size();i++){
        map.put(lista.get(i).getProname(),listb.get(i));
    }
}
if(listc.size()>0){
    for(int i = 0;i<listc.size();i++){
        map.put(lista.get(i).getProname(),listc.get(i));
    }
}
if(listd.size()>0){
    for(int i =0;i<listd.size();i++){
        map.put(lista.get(i).getProname(),listd.get(i));
    }
}
List<ProductClass> proCount = new ArrayList<ProductClass>();
if(map.size()>0){
    for(String  mp:map.keySet()){
        proCount.add(map.get(mp));
    }
    model.addAttribute("productlist",proCount);
}else{
    model.addAttribute("productlist",list);
}
    return "productlist";

}

jsp:

名称: 类型: 品牌: 价格:
${temp.proname}${temp.leix}${temp.pingpai}${temp.jiage}
在Java,可以通过使用正则表达式来进行模糊查询文件。具体步骤如下: 1. 使用 File 类的 list() 方法获取某个目录下所有的文件文件夹。 2. 遍历这些文件文件夹,对每个文件文件夹进行正则表达式匹配,判断是否符合要求。 3. 如果符合要求,则将该文件文件夹加入到结果列表。 下面是一个简单的示例代码: ``` java import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; public class FileSearcher { public static void main(String[] args) { String keyword = "test"; // 模糊查询的关键词 String path = "."; // 要查询的目录路径 List<File> results = searchFiles(path, keyword); for (File file : results) { System.out.println(file.getAbsolutePath()); } } /** * 在指定目录下模糊查询文件 * @param path 要查询的目录路径 * @param keyword 模糊查询的关键词 * @return 查询结果列表 */ public static List<File> searchFiles(String path, String keyword) { List<File> results = new ArrayList<>(); File dir = new File(path); if (!dir.isDirectory()) { return results; } File[] files = dir.listFiles(); if (files == null || files.length == 0) { return results; } Pattern pattern = Pattern.compile(".*" + keyword + ".*", Pattern.CASE_INSENSITIVE); for (File file : files) { if (pattern.matcher(file.getName()).matches()) { results.add(file); } if (file.isDirectory()) { results.addAll(searchFiles(file.getAbsolutePath(), keyword)); } } return results; } } ``` 这个示例代码,我们通过 searchFiles() 方法来进行模糊查询文件。该方法的参数包括要查询的目录路径和模糊查询的关键词。该方法返回查询结果列表。在该方法,我们使用了正则表达式来进行文件名的匹配。如果匹配成功,则将该文件加入到结果列表。同时,如果遍历到的文件是一个文件夹,则递归调用 searchFiles() 方法来进行子目录的查询。最终,我们可以打印出查询结果列表的每一个文件的绝对路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值