Struts 2 Sprawdzanie parametrów żądania (Int i Strings)
Powiedzmy, że mam tutaj ten adres URL
<s:url action ="profile" var ="profile_url">
<s:param name = "id">${user.userId}</s:param>
</s:url>
<s:a href = "%{profile_url}">My Profile</s:a>
Gdzie id parametru będzie miał tylkoint
wartość. Więc w mojej klasie Action.
public class ViewProfileAction extends ActionSupport{
public String execute(){
//someServiceLayer.getUser(id);
return "success";
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private int id;
}
Wszystko wydaje się dobrze, dopóki użytkownik kliknie łącze, więc jeśli użytkownik kliknie łącze, adres URL będzie taki jak ten
localhost:8090/HelloStruts2/profile?id=1
ale co, jeśli użytkownik bezpośrednio zmienił adres URL? ręcznie wpisał w przeglądarce literę lub postać? lubię to
localhost:8090/HelloStruts2/profile?id=b
jeśli użytkownik to zrobił, jestem pewien, że wystąpi wyjątek lub wystąpi błąd.
Moje pytanie, w jaki sposób mogę następnie zweryfikować parametr URL? lub jeśli użytkownik zrobił taką rzecz (wpisał literę lub liczbę ujemną w parametrzeid
) Przekieruję go na inną stronę.