我已经用来自我的spring控制器(provincia)的内容填充了一个列表,并且我有另一个对象(profile2),我需要从(provincia)获取选定的值...以及我的表单国家/地区中的其他值,等等。
@RequestMapping(value = "/editprofileabout4", method = RequestMethod.GET)
public ModelAndView editProfileAbout4(ModelAndView modelAndView) {
Usuario usuario = getUsuario();
Profile profile = profileService.getUserProfile(usuario);
Profile2 profile2 = profile2Service.getUserProfile2(usuario);
List<Provincia> provincia = provinciaService.readAllProvincia();
Profile webProfile = new Profile();
webProfile.safeCopyFrom(profile);
modelAndView.getModel().put("edituserprofile2th", usuario);
modelAndView.getModel().put("editprofile2about2th", profile2);
modelAndView.getModel().put("editprovincia2th", provincia);
modelAndView.setViewName("editprofileabout4");
return modelAndView;
}
@RequestMapping(value = "/doeditprofileabout4", method = RequestMethod.POST)
public ModelAndView editProfileAbout4(ModelAndView modelAndView, @Valid Profile2 profile2, @Valid Provincia provincia, BindingResult result) {
modelAndView.setViewName("editprofileabout4");
System.out.println(" !!!!!!!!!!!!! PROFILE2a: " + profile2.getBirthdate());
System.out.println(" !!!!!!!!!!!!! PROFILE2b: " + profile2.getGender());
System.out.println(" !!!!!!!!!!!!! PROFILE2d: " + profile2.getProvincia());
System.out.println(" !!!!!!!!!!!!! PROFILE2x: " + provincia.toString());
Usuario usuario = getUsuario();
Profile2 profile = profile2Service.getUserProfile2(usuario);
profile.setCountry(profile2.getCountry());
profile.setGender(profile2.getGender());
profile.setBirthdate(profile2.getBirthdate());
profile.setProvincia(provincia);
if (!result.hasErrors()) {
profile2Service.save(profile);
modelAndView.setViewName("redirect:/editprofileabout4");
}
return modelAndView;
}
在我的HTML中,我有:
<form class="sky-form" id="sky-form4" action="#" th:object="${editprofile2about2th}" th:action="@{/doeditprofileabout4}" method="post">
<section>
<div class="col-lg-3">
<select class="form-control" th:object="${editprovincia2th}" id="ddl" name="ddl">
<option value="" th:text="#{editprofile.about4.provincia}">Seleccionar Provincia</option>
<option th:each="dropDownItem : ${editprovincia2th}"
th:value="${dropDownItem.id_provincia}"
th:text="${dropDownItem.provincia}"></option>
</select>
</div>
</section>
但是我找不到任何关于如何提取与列表中的值相对应的选定键和值(th:select)并将其放回控制器(或者将其移入具有provincia有线对象的de profile2对象)的工作示例。在发布后,我在控制器中为provincia获取空值。
当我在HTML中包含一个(select th:field=“*{provincia}”)时,它会给我一个错误,说...出现错误(Type=内部服务器错误,状态=500)。执行处理器“org.thymeleaf.spring4.processor.attr.springSelectFieldattrProcessor”(EditProfileabout4:120)bean类[java.util.ArrayList]的无效属性“provincia”:bean属性“provincia”不可读或具有无效的getter方法:getter的返回类型是否与setter的参数类型匹配?
谢谢你的帮助-任何文件都很感激。
您需要从select
元素中删除th:object
属性,并且只为表单保留一个属性,因为正如Thymeleaf文档所述:
一旦进入标记,就不能指定其他th:object属性。这与HTML表单不能嵌套的事实是一致的。
表单上的th:object
属性需要引用表单支持bean,即可以保存通过表单发送的任何值的对象,例如provincia
目前,您正在尝试访问List对象的属性provincia,该属性根本不存在。
我的问题是无法得到下拉列表选择的值,错误是: 字段“admin”上对象“agence”中的字段错误:拒绝值[1];代码[TypeMismatch.agence.admin,TypeMismatch.admin,TypeMismatch.com.example.demo.Entities.AdminStrateur,TypeMismatch];;默认消息[无法将“java.lang.String”类
我有一个下拉列表,客户端必须选择一个值,然后它将在mysql db中持久化好的,我这样做了,但我希望当客户端选择一个值时,我得到该值,然后我执行if语句示例: 如果选择的值为:CIN,则为compte。setcomptenumber(25364138);就像那样 这是我的控制器: 我的html:
我想使用硒从选择字段中选择一个选项 HTML格式如下: 我尝试了以下方法: 我收到了这个错误: 硒。常见的例外情况。NoSuchElementException:消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:”//*[@id=“Enable”]/option[value=“0”]}
下面给出了一段表示下拉列表的代码。我需要在此下拉列表中选择日期值,由<代码> 以下方法无效 1。)使用“按导入组织选择”选择此值。openqa。硒。支持用户界面。选择 控制台显示: 元素应该是“选择”,但应该是“选项” 2.)首先单击下拉列表以显示要选择的选项,然后单击该选项。 控制台显示: 调试元素缺少可访问的名称:id:类型,标记名:选择,类名:文本输入ng原始ng未触及ng有效ng范围 3.
问题内容: 我需要使用字符串列表中的所有值填充下拉列表。 控制器类 我不知道从哪里开始HTML,所以我从这里开始 我的html / controller应该如何将列表的所有元素添加为下拉选项? 提前致谢! 问题答案: 这就是我填充下拉列表的方式。我认为这可能有助于你了解它。 Controller Model View
问题内容: 下面给出的是一段代码,表示下拉列表。我需要在此下拉列表中选择 日期 值,表示为 遵循方法无效。 1.)使用“ 选择” 通过导入 org.openqa.selenium.support.ui.Select* 选择此值 * 控制台显示: 元素应该是“选择”但是“选项” 2.)首先单击下拉菜单以显示要选择的选项,然后单击该选项。 控制台显示: DEBUG元素缺少可访问的名称:id:类型,ta