java - 如何做一个没有重复元素的下拉列表?
问题描述
我有一个对象列表和多个下拉列表。我想显示列表中的数据。但我的问题是我不想拥有这样的东西:
例如:我不想在下拉文件名中有两次:
文件 1 文件 1 文件2 文件 3 文件 3
我只想拥有:file1, file2, file3
这是我的控制器,我将列表放入模型中
@GetMapping("/filter/functionality/misramessages")
public String filterFunctionality(Model model) {
model.addAttribute("misraMessages", misraMessagesService.findAllMisraMessagesFromDb());
return "functionality";
}
在 html 之后,我这样做:
<!-- Filter File Name-->
<div class="form-group row">
<label for="fileName" class="col-sm-2 col-form-label">File Name</label>
<div class="col-sm-10">
<select class="form-control" name="file_name" id="fileName">
<option th:value="0" text="Please Select"></option>
<option th:each = "misra : ${misraMessages}"
th:value="${misra.fileName}"
th:text="${misra.fileName}">
</option>
</select>
</div>
</div>
<!-- Filter Message Number-->
<div class="form-group row">
<label for="messageNumber" class="col-sm-2 col-form-label">Message Number</label>
<div class="col-sm-10">
<select class="form-control" name="message_number" id="messageNumber">
<option th:value="0" text="Please Select"></option>
<option th:each = "misra : ${misraMessages}"
th:value="${misra.messageNumber}"
th:text="${misra.messageNumber}">
</option>
</select>
</div>
</div>
.......
.......
解决方案
好吧,我希望这misraMessagesService.findAllMisraMessagesFromDb()
是返回字符串列表。因此,如果您不想更改findAllMisraMessagesFromDb()
方法,可以执行以下操作:
List<String> messages = misraMessagesService.findAllMisraMessagesFromDb();
Set<String> uniqueMsgs = new HashSet<String>(messages);
或者您也可以在以下位置创建一个新方法misraMessagesRepository
:
@Query("SELECT DISTINCT name FROM MisraMessages")
public List<MisraMessages> findDistinctMisraMessagesFromDb();
两者中的任何一个都可以。
推荐阅读
- python - 如何通过阈值打破数据帧?
- php - SQLSTATE [42000]:语法错误或访问冲突:laravel 中 groupby 的 1055
- excel - 宏运行时错误 1004:对象“_global”的方法“单元格”失败
- pytorch - 如何找到二维激活图(pytorch)的均值和协方差
- python - 我可以以返回值作为参数多次运行同一个函数吗?
- excel - 将表格单元格的内容复制到单词中并将其粘贴到excel中时保留格式
- php - PHP在mysql表字符串字段的开头和结尾添加双引号
- javascript - 网络音频/广播流客户端:使用 Howler.js、原生音频、其他库?
- php - 谁可以帮我这个事?
- reactjs - 使用 Google Apps 脚本作为 REST Api