2009-08-25 2 views
1

J'utilise strut2.1.6 avec tomcat 5.5ognl.MethodFailedException "setCreatedDate" a échoué pour objet [email protected]

j'ai un champ Date de createdate dans mon PasswordHistory Bean, et la composante date correspondant sur mon "search.jsp" ce champ est facultatif - aucune validation requise.

si je soumets la forme que je suis obtenir l'erreur follwoing sur la console ognl.MethodFailedException: Méthode "setCreatedDate" a échoué pour objet [email protected] [java.lang.NoSuchMethodException: setCreatedDate ([Ljava. lang.String;)] -

il semble qu'il essaie de convertir la chaîne vide à ce jour, quand il échoue, il essaie de rechercher la méthode d'argument chaîne correspondante et s'il convertit la valeur à ce jour, il appelle le correspondant Date méthode d'argument - Muhammad Shahid

Je veux éviter toute conversion si le champ est emtpy.

Répondre

1

Avez-vous struts.devMode = true dans struts.xml? De la docs:

Et troisièmement, peut-être le paramètre qui est moins largement connu, et donc une source de confusion: il va élever le niveau de débogage ou des problèmes normalement ignorables à des erreurs. Par exemple: lorsque vous soumettez un champ qui ne peut pas être défini sur une action 'someUnknownField', il sera normalement ignoré. Cependant, lorsque vous êtes en mode développement, une exception est générée, vous indiquant qu'un champ non valide a été envoyé. Ceci est très utile pour déboguer ou tester des formulaires volumineux, mais peut également être source de confusion si vous utilisez des paramètres de votre requête qui ne sont pas définis dans l'action, mais que vous utilisez directement dans votre couche de vue (avertissement: mauvaise pratique, vous devriez toujours valider les entrées du Web).

http://struts.apache.org/2.1.6/docs/devmode.html

Questions connexes