gpt4 book ai didi

java - JSP在表单中设置 boolean 值

转载 作者:行者123 更新时间:2023-12-01 12:59:42 25 4
gpt4 key购买 nike

我有一个模型:

public class Header {
private Boolean SERVICE;
}

Controller :

@RequestMapping("mymodel/Edit")
public ModelAndView mymodelEdit(
@ModelAttribute("mymodel") Mymodel mymodel,
@RequestParam String id) {

Mymodel old_mymodel = mymodelService.getMymodel(id);
Map<String, Object> map = new HashMap<String, Object>();
map.put("old_mymodel", old_mymodel);
return new ModelAndView("mymodel/mymodelEditView", "map", map);
}

JSP 表单

<c:set var="old_mymodel" value="${map.old_mymodel}" />
<form:form method="POST action="/mymodel/Save" modelAttribute="mymodel">
<tr>
<td>Сервис :</td>
<td>
<form:checkbox path="SERVICE" value="${old_mymodel.SERVICE}">
</form:checkbox>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Save" /></td>
</tr>
</table>
</form:form>

我的问题:我无法将数据库中的值设置为表单值,即当 SERVICE 值为 true 时,不会选中复选框。

最佳答案

您尝试访问模型的方式与您填充模型的方式不对应。

我建议您将代码更改为:

@RequestMapping("mymodel/Edit")
public ModelAndView mymodelEdit(
@ModelAttribute("mymodel") Mymodel mymodel,
@RequestParam String id) {

Mymodel old_mymodel = mymodelService.getMymodel(id);
return new ModelAndView("mymodel/mymodelEditView", "model", old_mymodel);
}

假设 Mymodel 看起来像:

public class Mymodel {
private Header old_header;
}

此外,您在模型的各个部分中使用的名称可能存在一些问题。我强烈建议您遵守 JavaBean 命名约定

关于java - JSP在表单中设置 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23602715/

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