SpringMVC:如何管理从get请求获取java对象?
我正在尝试使用SpringMVC来处理表单,但现在我被卡住了,我在这里请求您的帮助 当用户提交表单时,我的控制器返回jsp结果页,用户可以检查他填写的内容。在结果页面中,我有两个按钮,一个用于发送最终表单,另一个用于修改表单 这里是我的问题:当我单击modify时,表单的所有字段都再次为空,我希望保留用户填写的值 我的控制器:SpringMVC:如何管理从get请求获取java对象?,java,forms,spring-mvc,http-request-parameters,getmethod,Java,Forms,Spring Mvc,Http Request Parameters,Getmethod,我正在尝试使用SpringMVC来处理表单,但现在我被卡住了,我在这里请求您的帮助 当用户提交表单时,我的控制器返回jsp结果页,用户可以检查他填写的内容。在结果页面中,我有两个按钮,一个用于发送最终表单,另一个用于修改表单 这里是我的问题:当我单击modify时,表单的所有字段都再次为空,我希望保留用户填写的值 我的控制器: @Controller @RequestMapping( "/adhesion" ) public class FormController { //Send the
@Controller
@RequestMapping( "/adhesion" )
public class FormController {
//Send the form
@RequestMapping( method = RequestMethod.GET )
public String getFormulaire( @RequestParam( value = "user", required = false ) T_demande_adhesion User, Map<String, Object> model ) {
System.out.println( "user" + User ); //Null everytime
model.put( "user", User );
System.out.println( "Envoi formulaire !" );
return "formulaireAdhesion";
}
//Handle the form
@RequestMapping( method = RequestMethod.POST )
public String gestionAdhesion( @ModelAttribute( "formAdhesion" ) @Valid T_demande_adhesion user, BindingResult erreurForm, Map<String, Object> model )
throws ServletException, IOException {
final String CHEMIN_DOC_APP = "C:/DocumentsApp/";
// Form JSP page
final String FORMULAIRE_ADHESION = "formulaireAdhesion";
// Result page
final String AFFICHER_RESULT = "afficherResult";
// Objet de validation du formulaire
ValidationDmdAdhesion demandeAdhesion = new ValidationDmdAdhesion();
//Return AFFICHER_RESULT or FORMULAIRE_ADHESION
String resultat = demandeAdhesion.validationUser( user, erreurForm, model, FORMULAIRE_ADHESION, AFFICHER_RESULT, CHEMIN_DOC_APP );
//putting the object to the request
model.put( "user", user );
return resultat;
}
}
当用户单击Modify按钮(在结果页面中)时,我希望在get请求中获得此对象@ModelAttribute(“formAdhesion”)@Valid T_demande_session user
,以避免用户再次输入相同的信息。
有什么帮助吗
表格摘录:
Nom*
在这里:value=“
我想要得到nom
的值
对不起,我说的是英语
法语
当我单击modify时,表单的所有字段都再次为空,并且
我想保留用户填写的值
由于表单数据已经在客户端的页面上可用,因此再次向服务器提交表单并显示相同的数据没有任何意义,这是从客户端到服务器不必要的往返,即
要在表单上保留数据,请不要将表单提交给服务器/控制器本身
我如何检查填写信息的有效性
提交表单?如何在结果页中显示它们
无需验证用户将要修改的数据。因此,只有在用户完成修改并单击“提交”后,才能验证表单。验证成功/失败后,您可以在结果页面上显示结果。在这种情况下,我没有找到其他方法而不是使用@SessionAttributes。在我的应用程序中,我没有使用会话,但似乎没有其他方法。我认为您的
输入标记的onclick
属性过早终止。我想它在这里结束:onclick=”document.location.href='我认为onclick
需要像这样转义:onclick=“document.location.href=''”
如果我把“\”放在value=
后面,这是一个很好的建议,但是我如何在不提交表单的情况下检查所填写信息的有效性呢?如何在结果页中显示它们?您可以查看上面的y答案。这是一个好主意,但如果验证发送错误,问题将是相同的,我需要将用户重定向到表单。
<input type="button" value="Modifier" onclick="document.location.href='<c:url value="adhesion?user=${user}"/>';" class="boutonAdhesion" />
/adhesion?user=com.user.entities.T_demande_adhesion@1dfe8158