Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 所选标记在JSP中的表单验证和提交后消失_Java_Html_Spring_Jsp_Jstl - Fatal编程技术网

Java 所选标记在JSP中的表单验证和提交后消失

Java 所选标记在JSP中的表单验证和提交后消失,java,html,spring,jsp,jstl,Java,Html,Spring,Jsp,Jstl,我是Spring的初学者,我正在尝试解决应用程序中的一些小问题。我有一个表单来编辑用户配置文件。在这个表单中,我有一个下拉列表,管理员用户可以在其中为正在编辑的用户选择用户角色。当我要编辑用户页面时,表单中的所有数据都会从数据库中填充。假设我有两种形式的输入:inputwithlastName和selectwithuser role。select元素包含数据库中存在的所有角色,但所选角色与用户实际分配的角色相匹配 这是我表单的一部分-输入lastName <spring:bind path

我是Spring的初学者,我正在尝试解决应用程序中的一些小问题。我有一个表单来编辑用户配置文件。在这个表单中,我有一个下拉列表,管理员用户可以在其中为正在编辑的用户选择用户角色。当我要编辑用户页面时,表单中的所有数据都会从数据库中填充。假设我有两种形式的输入:
input
withlastName
select
withuser role。select元素包含数据库中存在的所有角色,但所选角色与用户实际分配的角色相匹配

这是我表单的一部分-输入lastName

<spring:bind path="lastName">
    <div class="form-group">
        <label for="lastName">Last name</label>
        <form:input path="lastName" type="text" class="form-control ${status.error ? 'border border-danger' : ''}" id="lastName" />
        <form:errors path="lastName" cssStyle="color: #ff0000;"/>
    </div>
</spring:bind>
选择:

<select id="role" name="roles"">
<option value="1">ADMIN</option>
<option value="2">USER</option>
<option value="3">STUDENT</option>
<option value="4" selected="selected">LECTURER</option>
</select>

<div class="form-group">
<label for="role">Role Id</label>
<select id="role" name="roles">
<option value="1">ADMIN</option>
<option value="2">USER</option>
<option value="3">STUDENT</option>
<option value="4">LECTURER</option>
</select>
</div>


我在归档页面中找到了一些提示

现在选定的属性不会从选项标记中删除。我不确定这是否是解决这个问题的好方法,但它对我很有效

修改选择:

<form:form method="post" modelAttribute="editForm">
        <c:forEach items="${editForm.roles}" var="role">
            <c:set var="userRoleId" value="${role.id}" scope="request"/>
        </c:forEach>

        <form:select path="roles" id="role" multiple="false">
            <c:forEach var="tempRole" items="${allRoles}">
                <option value="${tempRole.id}" <c:if test="${tempRole.id == userRoleId}">selected="selected"</c:if> value="${tempRole.id}">${tempRole.role}</option>
            </c:forEach>
        </form:select>
</form:form>

${tempRole.role}
<div class="form-group">
        <label for="lastName" class="">Last name</label>
        <input id="lastName" name="lastName" type="text" class="form-control border border-danger" value="">
        <span id="lastName.errors" style="color: #ff0000;">This field is required.</span>
</div>
<div class="form-group">
<label for="role">Role Id</label>
<select id="role" name="roles">
<option value="1">ADMIN</option>
<option value="2">USER</option>
<option value="3">STUDENT</option>
<option value="4">LECTURER</option>
</select>
</div>

<form:form method="post" modelAttribute="editForm">
        <c:forEach items="${editForm.roles}" var="role">
            <c:set var="userRoleId" value="${role.id}" scope="request"/>
        </c:forEach>

        <form:select path="roles" id="role" multiple="false">
            <c:forEach var="tempRole" items="${allRoles}">
                <option value="${tempRole.id}" <c:if test="${tempRole.id == userRoleId}">selected="selected"</c:if> value="${tempRole.id}">${tempRole.role}</option>
            </c:forEach>
        </form:select>
</form:form>