2010-12-07 27 views
0

Dans ma première fonction de rendu, j'ajoute un objet à mon modèle, et dans ma JSP je l'affiche en utilisant ${user.firstname}. Cependant quand je soumets mon jsp la fonction de manipulation (actionmapping) et récupère l'objet de mon modèle c'est null. Est-ce que quelqu'un sait pourquoi cela arrive et comment je peux empêcher cela?spring portlet mvc: keep parameters

Version courte du Jsp:

<form action="x"> 
name: ${user.firstname} 
<input type="submit" value="Submit"/> 
</form> 

Répondre

0

Vous n'êtes pas envoyer la valeur de la forme, donc pour cette raison, il est toujours nulle. Vous devez l'inclure dans un élément d'entrée (masqué si vous ne voulez pas qu'il soit modifiable, ou dans un élément de texte si vous avez besoin que l'utilisateur puisse changer la valeur).

Le formulaire enverra uniquement les valeurs contenues dans les balises de formulaire HTML.

Par exemple:

<form action="x"> 
    <input type="hidden" name="firstname" value="${user.firstname}"/> 
    name: ${user.firstname} 
    <input type="submit" value="Submit"/> 
</form> 
+0

puisque vous avez mentionné le printemps, vous devez utiliser les balises personnalisées pour la forme et l'entrée. voir cet exemple http://maestric.com/doc/java/spring/form_processing) – Belun

+0

@Belun Ce n'est pas obligatoire, mais l'utilisation d'étiquettes à ressort présente certains avantages. Mais le problème n'est pas dû à l'utilisation de balises html au lieu de balises printanières. – Javi

+0

oublié les tags, fait une mise à jour depuis la question de la question de ne pas utiliser le formulaire de printemps: http://stackoverflow.com/questions/4385395/spring-portlet-mvc-model-attribute-is-null-despite-being -modelattribute – jack