是否可以以更简单的方式输出包含DB值的下拉列表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以以更简单的方式输出包含DB值的下拉列表?相关的知识,希望对你有一定的参考价值。

这种方式并不是最好的。我正在寻找更好的方法。没有列表可以吗?

我的PageController:

public class CreateUserPageController {

@Autowired
private UserServiceImpl userServiceImpl;


@RequestMapping(value = "/create-user", method = RequestMethod.GET)
public ModelAndView showForm() {
    ModelAndView model = new ModelAndView("admin/create-user");
    model.addObject("user", new User());
    UserRoleDTO[] roles = UserRoleDTO.values();
    List<String> roleNames = new ArrayList<>();
    for (UserRoleDTO role : roles) {
        roleNames.add(role.getName());
    }
    model.addObject("roleNames", roleNames);
    return model;
}

@RequestMapping(value = "/create-user", method = RequestMethod.POST)
public ModelAndView submitForm(@ModelAttribute("user") User user) {
    userServiceImpl.create(user);
    return showForm();
    }
}

我的JSP:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<html>
<head>
    <title>Create test</title>
</head>
<body>

<h1>Create Test</h1>
<form:form method="POST" action="/create-test" modelAttribute="topicTestDTO">
    <form:input path="topic.name" type="text" list="topic_list" placeholder="choose or create topic"/>
    <datalist id="topic_list">
        <c:forEach items="${topicList}" var="topic">
            <option>${topic}</option>
        </c:forEach>
    </datalist>
    <br>
    <form:input path="test.name" type="text" placeholder="create test name"/>
    <input type="submit">
</form:form>
</body>
</html>

感谢帮助。如果您需要更多信息,请告诉我哪一个,我将完成代码。

答案

这里的问题是它转发到数据库检索数据的每个请求,即使数据没有改变,它也会降低应用程序的性能。

通过使用本地缓存,我们可以实现性能,因此在加载应用程序时,将从数据库中查询自身数据并将其存储在缓存中,然后我们可以重用缓存中的数据。

以上是关于是否可以以更简单的方式输出包含DB值的下拉列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建多个从同一个数组中获取值的动态下拉列表,而无需更改 Javascript 中的其他下拉列表

一个下拉列表,其中包含VB6中每周开始日期的列表

没有重复值的多个下拉列表

使用 Angular 复制带有 UI 和所选值的下拉列表

从具有不同值的逗号分隔 JSON 对象填充 html 下拉列表

数据库表的列中的值的下拉列表-MVC实体框架