Это имя сгенерированного поля ввода HTML, которое отправляется как параметр запроса обычным способом HTTP/HTML. Помните: JSF работает на веб-сервере, создает HTML/CSS/JS, webserver отправляет его по HTTP в webbrowser, webbrowser извлекает HTML/CSS/JS и отображает/применяет/выполняет его. Щелкните правой кнопкой мыши страницу в браузере, выберите View Source, найдите сгенерированный элемент ввода HTML и вы увидите что-то подобное: это
<input type="hidden" id="formid:data" name="formid:data" />
где formid
является идентификатор родительского <form>
, сгенерированный JSF <h:form>
. В соответствии с спецификацией HTML входные значения передаются как пары name = value в параметрах запроса.
Таким образом, для вышеприведенного случая, вы должны использовать
data = requestParameterMap.get("formid:data");
Однако, вы также можете просто привязать его к свойству компонента.
<h:inputHidden value="#{bean.data}" />
Таким образом, он будет просто доступен как data
свойства в методе действий бин без необходимости возиться с запросом параметрами пути низкого уровня.
Хм, это странно, я ввел в форму Id: данные в первый раз, и это не сработало. но теперь он делает !! Большое спасибо BalucC Ваши сообщения и блог действительно очень помогли мне в разработке jsf :) – user560785
привязка - лучший вариант, он действителен для любой области бобов! – Dejell