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ę.

questionAnswers(2)

yourAnswerToTheQuestion