【发布时间】:2017-03-22 09:18:52
【问题描述】:
我正在尝试使用 SpringMVC 处理表单,但现在卡住了,我在这里寻求您的帮助。
当用户提交表单时,我的控制器返回 jsp 结果页面,用户可以检查他填写的内容。在该结果页面中,我有 2 个按钮,一个用于确定发送表单,一个用于修改它。
这是我的问题:当我点击修改表单的所有字段时再次为空,我想保留用户填写的值。
我的控制器:
@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;
}
}
在 JSP 端,我在请求中添加了参数“用户”: '
<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
当用户点击修改按钮(在结果页面中)时,我想在GET请求中获取这个对象@ModelAttribute( "formAdhesion" ) @Valid T_demande_adhesion user来填写表格,以避免用户再次输入相同的内容信息。
有什么帮助吗?
表格摘录:
<label for="nom">Nom <span class="requis">*</span></label><input type="text" id="nom" name="identite.nom" value="<c:out value ="${user.identite.nom}"/>" size="35" maxlength="30" />
<spring-ext:errors path="identite.nom" class="erreur" firstErrorOnly="true"/>
在这里:value="<c:out value ="${user.identite.nom}"/> 我想获得nom 的值。
对不起英语。
法式。
【问题讨论】:
-
我认为您的
input标签的onclick属性过早终止。我认为它到此结束:onclick="document.location.href='<c:url value="您应该使用\"转义嵌套引号。 -
我认为
onclick需要像这样转义:onclick="document.location.href='<c:url value=\"adhesion?user=${user}\"/>';" -
如果我把“\”放在
value=之后就不行了
标签: java forms spring-mvc http-request-parameters getmethod