# Tomahawk funktioniert nicht



## Indiana (5. Dez 2007)

Hi,
ich benutze die JSF Referenzimplementierung und habe die tomahawk-1.1.6.jar in mein Web-Inf/Lib Verzeichnis gelegt.

Eigentlich brauche ich nur ein kleines Feature, nämlich eine Kontrolle zur Passwortgleichheit, aber ich bekomme das nicht zum Laufen. 
Ausschnitt aus meiner jspx-Datei:


```
<jsp:root [...]
               xmlns:t="http://myfaces.apache.org/tomahawk" >

<h:inputHidden required="true" label="#{msg['user.password']}"
	id="password" value="#{registrationBean.user.password}" />
<h:inputHidden required="true" label="#{msg['user.passwordRepeat']}"
        id="password2">
       <t:validateEqual for="password" />
</h:inputHidden>
```

Anpassungen an der web.xml habe ich nicht vorgenommen, da ich es so verstanden habe, dass für meinen Zweck das Einbinden der Tomahawk.jar genügt.

Beim Rendern der Seite werden die Passwortfelder einfach ignoriert.

Kann mir bitte jemand helfen?
Danke! Indy


----------



## maki (5. Dez 2007)

> Beim Rendern der Seite werden die Passwortfelder einfach ignoriert.


Glaube ich kaum.

Schau mal in den Quelltext der erzeugten HTML Seite 

Dir ist schon klar das ein inputhidden element einen verstecktes input feld rendert, oder?


----------



## quadro (5. Dez 2007)

Du meinst wahrscheinlich....


```
<h:inputSecret></h:inputSecret>
```

...


----------



## Indiana (5. Dez 2007)

Sorry, folks...  
habe aus Testzwecken den Code von Trinidad auf Standard-jsf geändert, dabei hat sich der fehler eingeschlichen. Es sieht nun wie folgt aus:


```
<tr:inputText required="true" secret="true" label="#{msg['user.password']}"
      id="password" value="#{registrationBean.user.password}" />
<tr:inputText required="true" secret="true" label="#{msg['user.passwordRepeat']}"
      id="password2" >
      <t:validateEqual for="password" />
</tr:inputText>
```

Es wird alles gerendert   
Aber beim Aufruf der Seite bekomme ich bereits folgende Exception:

```
WARNUNG: phase(RENDER_RESPONSE 6,org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$CacheRenderKit@20dcb7) threw exception: java.lang.NoClassDefFoundError null
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.writeCodeBeforeBodyEnd(ExtensionsPhaseListener.java:129)
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getCodeBeforeBodyEnd(ExtensionsPhaseListener.java:104)
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getJavaScriptCodeAndStoreInRequest(ExtensionsPhaseListener.java:94)
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.afterPhase(ExtensionsPhaseListener.java:70)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:253)
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:210)
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:164)
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:595)
```

Ach ja, die Passwortüberprüfung funktioniert so auch nicht, was hab ich vergessen?

Vielen Dank sagt der jsf-Anfänger Indy


----------

