java – Spring MVC中一个表单的许多commandName
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Spring MVC中一个表单的许多commandName,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2331字,纯文字阅读大概需要4分钟。
内容图文
![java – Spring MVC中一个表单的许多commandName](/upload/InfoBanner/zyjiaocheng/696/77e0ab94165d41ee8dfd442f69293ac0.jpg)
我有一个页面jsp,我将使用来自不同POJO类的许多属性,所以我需要在表单中使用两个commandName.
可以在控制器中使用多个@ModelAttribute,那么如果多个commandName不工作又有什么意义呢?
例如,我想插入一个信息,名称和函数,name是类Agent中的一个属性,function是类Activity中的一个属性?我该怎么办?
控制器
@RequestMapping(value="/fiche_service",method=RequestMethod.GET)
public ModelAndView Fiche_service(@ModelAttribute Activite activitey,@ModelAttribute Etablissement etabl,ModelMap model) {
Agent ag = new Agent();
return new ModelAndView("FicheService","agent",ag);
}
表格
<form:form
action="${pageContext.request.contextPath}/ajouter_activite"
method="post" commandName="activity" commandName="etabl">
<table id="tabmenu">
<tr>
<td>Fonction :</td>
<td><form:input type="text" class="round default-width-input" path="fonction"/></td>
</tr>
<tr>
<td>Nom d'établissement :</td>
<td><form:input type="text" class="round default-width-input" path="noml"/></td>
</tr>
<tr>
<td>Ville :</td>
<td><form:input type="text" class="round default-width-input" path="villel"/></td>
</tr>
<tr>
<td>Délégation :</td>
<td><form:input type="text" class="round default-width-input" path="cd_reg"</td>
</tr>
<tr>
<td>Date début :</td>
<td><form:input type="text" name="date" class="tcal" value="" path="dateAffect"/></td>
</tr>
<tr>
<td>Date fin :</td>
<td><form:input type="text" name="date" class="tcal" value="" path="dateAffect_etab"/></td>
</tr>
<tr>
<td><input class="button round blue image-right ic-right-arrow"
type="submit" value="Créer" /></td>
<td><input class="button round blue image-right ic-right-arrow"
type="reset" value="Initialiser" /></td>
</tr>
</table>
</form:form>
例外情况:
Etat HTTP 500 - /WEB-INF/pages/FicheService.jsp (line: 397, column: 64) Attribute qualified names must be unique within an element
第397行==>
method="post" commandName="activity" commandName="etabl">
解决方法:
使用springform:form标签不可能有多个commandName属性.
(实现org.springframework.web.servlet.tags.form.FormTag只有一个字段来保存此值).
最简单的解决方案(无效工作)将使用包装器命令对象,它必须包含字段.
public class CombinedCommand() {
Activity activity;
Etabl etabl;
//Getter and setter
}
JSP:
<form:form
action="${pageContext.request.contextPath}/ajouter_activite"
method="post" commandName="combinedCommand"">
...
<form:input type="text"path="activity.x"/>
...
<form:input type="text"path="etabl.y"/>
...
</form:form>
内容总结
以上是互联网集市为您收集整理的java – Spring MVC中一个表单的许多commandName全部内容,希望文章能够帮你解决java – Spring MVC中一个表单的许多commandName所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。