Допустим, у меня есть этот 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>
Где идентификатор параметра будет иметь только значение int
. Итак, внутри моего класса 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;
}
Кажется, все идет хорошо, пока пользователь нажимает на ссылку, поэтому, если пользователь нажмет на ссылку, URL-адрес будет примерно таким
localhost:8090/HelloStruts2/profile?id=1
но что, если пользователь напрямую манипулирует URL-адресом? он вручную набрал в браузере букву или символ? так
localhost:8090/HelloStruts2/profile?id=b
если пользователь сделал это, я уверен, что произойдет исключение или произойдет ошибка.
Мой вопрос, как мне проверить параметр URL? или если бы пользователь сделал такое (ввел букву или отрицательное число в параметре id
) я бы перенаправил его на другую страницу.