Hoi allen,
Vandaag vond ik het weer eens een dag om te gaan prutsen met JSP en kwam op het volgende probleem.
Ik heb een textfield tfd_Bericht. Ik wil graag kijken of deze leeg is of niet.
Dus ik heb een boontje aangemaakt, met de volgende code:
in mijn jsp roep ik hem op met het volgende:
Nu wil ik graag eerst de property bericht een waarde geven:
Nu krijg ik alleen het volgende: in plaats van dat hij de inhoud van het textfield pakt, geeft hij letterlijk die code als waarde? Dus mijn 1e vraag is: waarom? Waarom pakt hij niet de inhoud van dat textfield?
Maar goed, ik verander de code om de property bericht een waarde te geven:
Dan wordt de property bericht van de juiste waarde voorzien. Mooi denk je, dan nu de validatie. Deze doe ik dmv de volgende code:
Het vreemde dan: of ik nu het textfield een waarde geef of niet, hij gaat nooit naar error.jsp toe? Dus om te kijken of mijn validatie wel ok is, heb ik opnieuw die <jsp:setProperty> gebruikt.
Gebruik ik
Gebruik ik
Toen brak uiteindelijk mijn klomp... Ik doe wat fout, maar ik kan er niet achter komen wat? Samen met het feit dat het heel vreemd is dat ie de <jsp:setProperty name="berichtje" property="bericht" value="${param.tfd_Bericht}" /> niet doet...
Zou iemand me kunnen helpen hiermee, wat ik dan wel verkeerd doe?
Vandaag vond ik het weer eens een dag om te gaan prutsen met JSP en kwam op het volgende probleem.
Ik heb een textfield tfd_Bericht. Ik wil graag kijken of deze leeg is of niet.
Dus ik heb een boontje aangemaakt, met de volgende code:
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
| package EigenBoontjes;
import java.beans.*;
import java.util.*;
import java.io.Serializable;
public class controlerenBericht extends Object implements Serializable {
private String bericht;
public controlerenBericht() {
this.bericht = "";
}
public void setBericht(String nieuwBericht) {
this.bericht = nieuwBericht;
}
public String getBericht() {
return this.bericht );
}
public boolean isBerichtValid() {
if (this.bericht != null && this.bericht != "") {
return true;
}
return false;
}
} |
in mijn jsp roep ik hem op met het volgende:
code:
Nog geen probleem. 1
| <jsp:useBean id="berichtje" class="EigenBoontjes.controlerenBericht" /> |
Nu wil ik graag eerst de property bericht een waarde geven:
code:
1
| <jsp:setProperty name="berichtje" property="bericht" value="${param.tfd_Bericht}" /> |
Nu krijg ik alleen het volgende: in plaats van dat hij de inhoud van het textfield pakt, geeft hij letterlijk die code als waarde? Dus mijn 1e vraag is: waarom? Waarom pakt hij niet de inhoud van dat textfield?
Maar goed, ik verander de code om de property bericht een waarde te geven:
code:
1
| <c:set target="${berichtje}" property="bericht" value="${ param.tfd_Bericht}" /> |
Dan wordt de property bericht van de juiste waarde voorzien. Mooi denk je, dan nu de validatie. Deze doe ik dmv de volgende code:
code:
1
2
3
4
5
| <c:if test="${ berichtje.berichtValid == false }">
<jsp:forward page="error.jsp">
<jsp:param name="error" value="geenBericht" />
</jsp:forward>
</c:if> |
Het vreemde dan: of ik nu het textfield een waarde geef of niet, hij gaat nooit naar error.jsp toe? Dus om te kijken of mijn validatie wel ok is, heb ik opnieuw die <jsp:setProperty> gebruikt.
Gebruik ik
code:
dan gaat ie niet naar error.jsp (wat ook niet zou moeten).1
| <jsp:setProperty name="berichtje" property="bericht" value="testje" /> |
Gebruik ik
code:
dan gaat ie naar error.jsp (wat ook zou moeten).1
| <jsp:setProperty name="berichtje" property="bericht" value="" /> |
Toen brak uiteindelijk mijn klomp... Ik doe wat fout, maar ik kan er niet achter komen wat? Samen met het feit dat het heel vreemd is dat ie de <jsp:setProperty name="berichtje" property="bericht" value="${param.tfd_Bericht}" /> niet doet...
Zou iemand me kunnen helpen hiermee, wat ik dan wel verkeerd doe?