На самом деле нет никакого стандартного способа обработать это, это было взломом Microsoft для поддержки их сообщения назад модель. Им было нужно это, потому что каждое управление сделало сообщение назад, и пользователь будет постоянно пододвигаться обратно к верхней части страницы.
рекомендация для использования с MVC состоит в том, чтобы сделать большую часть Вашего сообщения назад к серверам с помощью Ajax. Так, чтобы страница не повторно представляла, фокус не перемещен. jQuery делает Ajax действительно легким, и существуют даже формы по умолчанию как
<% Ajax.BeginForm(...) %>
, Который будет заботиться о стороне Ajax вещей для Вас.
Если вы знаете имя нужного вам значения:
Class<? extends Enum> klass = ...
Enum<?> x = Enum.valueOf(klass, "NAME");
Если нет, вы можете получить их массив следующим образом (как Том достал первым):
klass.getEnumConstants();
с использованием отражения просто вызывает класс #getEnumConstants () :
List<Enum<?>> enum2list(Class<? extends Enum<?>> cls) {
return Arrays.asList(cls.getEnumConstants());
}