动态获取后台传过来的值作为select选项
问题描述:点击左侧菜单项,进入对应的具体页面a.html,页面上方有个select框,点击框后,会浮现选择项。
解决思路:对左侧菜单项添加一个onclick事件,进入后台做具体的查询,将查询到的list的值取出放到map中,再把map传到前台a.html页面。直接传递list不可以么?后面有说明!
贴代码:
后台查询select选项值的list,list取值放到map中,把map传递到前台页面a.html。
public String list(ModelMap modelMap){
List<OhSysDict> list = null;
try {
list = ohSysDictService.findOhSysDict();
} catch (Exception e) {
e.printStackTrace();
}
OhSysDict dict = null;
Map<String, String> selectMap = new HashMap<String, String>();
if(!list.isEmpty() && list.size()>0){
for(int i = 0; i < list.size(); i++){
dict = list.get(i);
String dictId = dict.getDictId();
String dictName = dict.getDictName();
selectMap.put(dictId,dictName);
}
}
modelMap.addAttribute("selectMap",selectMap);
return VIEW_PATH + "/list"; //这里的a就是a.html 因为配置的视图解析器会自动匹配上.html,VIEW_PATH是配置的路径,可以不用管它
}
前台页面a.html相关的代码:
<select id="select1" name="select1" class="form-control js-example-basic-single" placeholder="请选择机构级别">
<option th:each="s : ${selectMap}" th:value="${s.key}" th:text="${s.value}" xmlns:th="http://www.w3.org/1999/xhtml"></option>
</select>
这里说明为什么放到map,因为select具体选择的时候,是一个value,对应一个text内容(不知道的可以查看本渣渣的JSP select下拉标签 简单使用 里边有说明,还挺详细的,PS:罗里吧嗦啦!!!),把map传递到前台的时候,我们可以在select中遍历,value取出map的key text取出map的value,然后选择的时候选项内容就是dictName对应的value就是dictId,可以方便的做后续的操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)