[Java/Spring/Validation] Eerst Validation eror, nu een 404

Pagina: 1
Acties:

  • Bbfreak
  • Registratie: September 2002
  • Laatst online: 04-02 10:03
Probleem:
Ik heb een webapp een tijdje niet aangeraakt en omdat ik er wat mee moest doen uit de kast gehaald.
Bij het uitvoeren de volgende error:
code:
1
2
3
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sentinelFormController' defined in ServletContext resource [/WEB-INF/action-servlet.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Validator [org.springframework.validation.commons.BeanValidator@1b4cd65] does not support command class [org.ymor.repman.model.Sentinel]
java.lang.IllegalArgumentException: Validator [org.springframework.validation.commons.BeanValidator@1b4cd65] does not support command class [org.ymor.repman.model.Sentinel]
...


Nu heb ik daarvoor op Google gekeken en nu blijkt dat de naam van je FORM gelijk moet zijn aan je model object. Nu moet ik zeggen dit heeft altijd gewerkt dus vond het maar raar.
Mijn FORM heettte eerst sentinelForm, toen maar hernoemd naar sentinel.
De error verdween en er verschijnt een lijst _/-\o_ Kun je nagaan dat de error voor het weergeven van de lijst van objecten gegeven wordt maar deze controller wordt hier nog niet gebruikt.
Vervolgens klik ik op een item in de lijst om naar editSentinel.html te gaan. Krijg ik een 404 :?
Ik begrijp het niet. Ik zal hier wat XML van Spring posten om wat inzicht te geven.
Hopelijk zien jullie mijn fout.

action-servlet.xml Controllers:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
    <bean id="sentinelFormController" class="org.ymor.repman.web.SentinelFormController">
        <property name="commandName"><value>sentinel</value></property>
        <property name="commandClass"><value>org.ymor.repman.model.Sentinel</value></property>
        <property name="validator"><ref bean="beanValidator"/></property>
        <property name="formView"><value>sentinel</value></property>
        <property name="successView"><value>redirect:sentinels.html</value></property>
        <property name="sentinelManager"><ref bean="sentinelManager"/></property>
        <property name="scriptManager"><ref bean="scriptManager"/></property>
    </bean>
    
    <bean id="scriptController" class="org.ymor.repman.web.ScriptController">
        <property name="scriptManager"><ref bean="scriptManager"/></property>
    </bean>

Je ziet hier het onderscheid tussen de lijst en de form Controller.

action-servlet.xml URL-mapping:
XML:
1
2
3
4
5
6
    <bean id="urlMapping" 
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/editSentinel.html">sentinelFormController</prop>
                <prop key="/sentinels.html">sentinelController</prop>


Form caption:
HTML:
1
2
    <form method="post" action="<c:url value="/editSentinel.html"/>" 
            onsubmit="return validateSentinel(this)" name="sentinel">


Validator in pagina:
HTML:
1
2
    <html:javascript formName="sentinel" staticJavascript="false" xhtml="true" cdata="false"/>
    <script type="text/javascript" src="<c:url value="/scripts/validator.jsp"/>"></script>


Validation.xml:
XML:
1
2
3
4
5
        <form name="sentinel">
            <field property="hostName" depends="required">
                <arg0 key="sentinel.hostName"/>
            </field>
        </form>


Die 404 heeft toch iets te maken met het feit dat sentinelForm niet meer werkt en ik het verandert heb naar sentinel. In de logfiles van Tomcat worden geen fouten of iets weergegeven tijdens de 404.
Alleen een regel dat de data van de Sentinel opgehaald wordt. Dat gebeurd in de achtergrond dus wel. Help?

[edit]
Ik heb mijn eigen fout al opgelost. De naam van de FORM moest wel sentinel zijn
maar <property name="formView"><value>sentinel</value></property> moest wel sentinelForm blijven want de jsp heet sentinelForm.jsp :9

Mijn excuses voor het plaatsen van het topic. Had best even door mogen zoek imho.

[ Voor 17% gewijzigd door Bbfreak op 02-05-2006 14:44 ]

Twitter @cmeerbeek / Halo Waypoint Profile


  • momania
  • Registratie: Mei 2000
  • Laatst online: 18:04

momania

iPhone 30! Bam!

XML:
1
<property name="successView"><value>redirect:/sentinels.html</value></property>

let op de '/' voor sentinels.html

edit:
8)7

[ Voor 26% gewijzigd door momania op 02-05-2006 14:47 ]

Neem je whisky mee, is het te weinig... *zucht*