gpt4 book ai didi

java - 提交表单后如何在下拉框中保留选定的值?

转载 作者:行者123 更新时间:2023-11-29 18:11:02 25 4
gpt4 key购买 nike

<分区>

在我找到的许多解决方案中,我似乎无法找到适合我的任何解决方案。我的 jsp 文件中有一个下拉列表:

    <select name="chosenOne" onchange="javascript:getUsers(this.value);">  
<option value="0" onclick="javascript:getUsers(this.value);">All Modules</option>
<c:forEach items="${modules}" var="module">
<option value="${module.id}"><c:out value="${module.title}"/></option>
</c:forEach>
</select></p>

它从我的数据库中动态填充,“所有模块”选项除外。这是我的 onchange 事件的 javascript 函数:

       <script type="text/javascript">
function getUsers(id) {
if (id != "0"){
document.updateForm.id.value = id;
}
else{
document.updateForm.id.value = "0";
}
document.updateForm.submit();
}</script>

下面是我处理下拉框的 servlet 代码:

        protected void process(final HttpServletRequest request, final HttpServletResponse response)
throws ServletException, IOException {

long modID = 0;
String url = "jsp/user/administration.jsp";
request.setAttribute("modules", dataAccessor.getAllModules());

if (isParameterValid(request.getParameter("id"))) {
modID = Long.parseLong(request.getParameter("id"));
request.setAttribute("users", getUsersFromModule(modID));
System.out.println(modID);

} else if (!isParameterValid(request.getParameter("id"))) {
request.setAttribute("users", dataAccessor.getAllUsers());

} else {
request.setAttribute("errorMessage", "There was a problem retrieving users!");
url = "jsp/error.jsp";
}

//request.setAttribute("formerSelect", modID);
request.getRequestDispatcher(url).forward(request, response);
}

那么如何才能让选中的下拉值在表单刷新后保留在下拉框中呢?我一直在摆弄设置一个属性“formerSelect”,它只包含下拉列表中先前选择的项目的值。但是由于某种原因,当我试图将它分配给我的选项标签中的“选定”值时,它使我的下拉列表变得无用。任何帮助深表感谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com