Java jsp下拉列表未自动选择正确的值
我在jsp页面上有一个大部分自动填充的下拉列表。提交表单时,页面重新加载时,搜索结果将显示在下表中,所有下拉列表和其他字段条目将重新填充,与提交前一样 除了这一个值Java jsp下拉列表未自动选择正确的值,java,spring,jsp,Java,Spring,Jsp,我在jsp页面上有一个大部分自动填充的下拉列表。提交表单时,页面重新加载时,搜索结果将显示在下表中,所有下拉列表和其他字段条目将重新填充,与提交前一样 除了这一个值。它不像其他的。它不是从数据库中动态创建的,因为它基本上只是将多个结果合并为一个结果,因此不是有效的数据库代码。其他人将被正确地重新选择,但不是这个人 我假设${Select}只起作用,因为它是第一个值,因此默认情况下被选中。无法实际测试它,因为该值不支持任何搜索 不,我的值不能成为新的默认值,因为它不可能是唯一的自定义报告选项 $
。它不像其他的。它不是从数据库中动态创建的,因为它基本上只是将多个结果合并为一个结果,因此不是有效的数据库代码。其他人将被正确地重新选择,但不是这个人
我假设${Select}
只起作用,因为它是第一个值,因此默认情况下被选中。无法实际测试它,因为该值不支持任何搜索
不,我的值不能成为新的默认值,因为它不可能是唯一的自定义报告选项
${Select}
在jsp中添加以下内容
$(document).ready(function() {
<c:if test="${querySelect == 'A'}">
$("#hrmsLifeCycleCode").val('A');
</c:if>
});
由于控制器现在正在传递所选的值,当所选的值不是自动选择的情况下,它将在页面加载后选择它
这不是最好的解决方案,但它确实有效。有一个更好的解决方案,它不需要更改jsp。虽然最初的修复是最小的,但这一个更好,但稍微复杂一些 由于控制器对此有两个部分,即普通页面和执行表单/搜索的页面,因此这两个部分都需要更改 因此,生成该属性的原始语句是
model.addAttribute(“hrmsLifeCycle”,generalDemanager.getInstance().getList(generalDemanager.LIFECYCLE_PROC_DESC_CTBL_仅限HRMS));
改为
List something=new ArrayList();
GeneralCode newCode=新的GeneralCode(-1,字符串\新的\报告\ ID,“-1”,“报告名称”);
添加(新代码);
List extraList=generalDemanager.getInstance().getList(报告ID);
添加(某物);
addAttribute(“hrmsLifeCycle”,外部列表);
因此,上面为报告创建了一个新的列表元素,并添加了它
这可以通过我在一两周前学到的一些东西得到进一步的改进,这就是在requestMapping之外的控制器中定义modelAttributes
@modeldattribute(“hrmsLifeCycle”)
列出某物=新的ArrayList();
GeneralCode newCode=新的GeneralCode(-1,字符串\新的\报告\ ID,“-1”,“报告名称”);
添加(新代码);
List extraList=generalDemanager.getInstance().getList(报告ID);
添加(某物);
返回外部列表;
}
和访问将使用
"${extraList}"
要真正改进它,更好的名字会有所帮助,哈哈