# JSF --- Expression mit String.length()



## bronks (8. Jul 2010)

Hi!

In einem Formular habe ich einen CommandButton. Dieser soll deaktiviert sein, wenn die Länge von [Benutzername] größer als 0 ist

So funktioniert es u.a. nicht

```
disabled="#{indexBean.benutzername.length() > 0}
```

Die Fehlermeldung:

```
com.sun.faces.el.impl.ElException: "(" gefunden, ["}", ".", ">", ... ... ..., "?"] erwartet
```

Kann mir bitte jemand von euch einen Tip geben?

Danke

Bronks


----------



## SlaterB (8. Jul 2010)

benutzername ist ein private Attribut und wird nur über getBenutzername() abgefragt, richtig?

erinnere mich schwach, dass diese Expression-Language nur die einfachen Bean-setter + getter verwendet,
length() von String passt da nicht, würde die Methode getLength() laufen, wäre es
> disabled="#{indexBean.benutzername.length > 0}


alternativ kannst du eine Methode getBenutzernameLength() in dein Bean einbauen, ergo
> disabled="#{indexBean.benutzernameLength > 0}

oder gleich eine boolean Methode isCheck17()
> disabled="#{indexBean.check17}


alles größtenteils vermutet

------

edit:
ach, und noch deinen Titel bei google eingetippt
Google
->
JavaServer Faces - How to find length of a string in JSF using EL expressions.


----------



## bronks (8. Jul 2010)

Erstmal Danke! Hast Recht! 

So wie ich es geschrieben habe hätte es mit JBoss EL funktioniert.



SlaterB hat gesagt.:


> ... alternativ kannst du eine Methode getBenutzernameLength() in dein Bean einbauen, ergo
> > disabled="#{indexBean.benutzernameLength > 0}


Leider auch nicht!



SlaterB hat gesagt.:


> oder gleich eine boolean Methode isCheck17()
> > disabled="#{indexBean.check17}


Wäre aktuell das geschickteste um keine unnötige Unruhe zu veranstalten.


----------

