java.lang.IllegalArgumentException: Resources cannot be null.
Bonjour � tous,
je suis occup� � d�veloppez une petite application en Struts, Spring et sans javascript... Lorsque je valide le formulaire suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
public class MovieForm extends ValidatorForm {
.....
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = super.validate(mapping, request);
if (errors == null) {
errors = new ActionErrors();
}
if (StringUtils.isBlank(getTitle())) {
errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("movie.error.title"));
}
String duration = getDuration();
if (StringUtils.isBlank(getDuration()) || (!StringUtils.isNumeric(duration))) {
errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("movie.error.duration"));
}
if (StringUtils.isBlank(getKind())) {
errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("movie.error.kind"));
}
if (StringUtils.isBlank(getKind())) {
errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("movie.error.media"));
}
return errors;
} |
avant m�me qu'il ne retourne vers l'action ad�quate, Struts m'envoit une erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
java.lang.IllegalArgumentException: Resources cannot be null.
org.apache.commons.validator.Validator.<init>(Validator.java:161)
org.apache.struts.validator.Resources.initValidator(Resources.java:475)
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:104)
movie.MovieForm.validate(MovieForm.java:78)
org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:950)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75) |
Je ne comprends pas, c'est � se flinguer. Ca doit surement �tre tout b�te :-) Quelqu'un aurait une id�e ? Voici le struts-config.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<!-- ========== Form Bean Definitions =================================== -->
<form-beans>
<form-bean name="movieForm" type="movie.MovieForm"/>
</form-beans>
<!-- ========== Action Mapping Definitions ============================== -->
<action-mappings>
<action path="/startup"
type="startup.StartupAction"
parameter="init"
validate="false">
<forward name="success" path=".startup"/>
</action>
<action path="/editMovie"
type="movie.MovieAction"
name="movieForm"
parameter="init"
validate="false">
<forward name="success" path=".movie.edit"/>
</action>
<action path="/movieSave"
type="movie.MovieAction"
name="movieForm"
parameter="save"
input=".movie.edit"
validate="true">
<forward name="success" path=".movie.edit"/>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"/>
<!-- ========== Plugins ============================== -->
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>
<set-property property="definitions-debug" value="1" />
<set-property property="definitions-parser-details" value="0" />
<set-property property="definitions-parser-validate" value="true" />
</plug-in>
</struts-config> |
Pour celui ou celle qui arrive � m'aider ou qui a tent� de m'aider je l'en remercie d�j� d'avance.
Coyote
Ce que je n'ai pas dit :-)
Salut,
tout d'abord merci pour ta r�ponse rapide! Ce que je n'ai pas dit, c'est que j'utilise <bean:message key=""/> dans mes JSP et qu'il me retrouve les messages d�finis dans ApplicationResources.
Code:
1 2 3 4 5 6 7 8
|
html:form action="movieSave.do" method="POST" enctype="multipart/form-data">
<table>
<tr>
<td><bean:message key="movie.title"/></td>
<td colspan="2"><html:text property="title"/></td>
</tr>
... |
Mais je vais suivre ton conseil...
Merci beaucoup
Coyote
Impeccable, �� fonctionne
Merci beaucoup pour ta r�ponse! Ca fonctionne :-)
Voici ce que je pensais avoir compris :
- ActionForm pour un formulaire ne n�cessitant pas de validation
- ValidatorForm pour un formulaire n�cessitant une validation (java ou xml)
Derni�re question : pour ou contre la valdation par xml ?
Merci encore pour tout.
Coyote