Каков правильный способ вызова сервлета из файла facelets с помощью формы с кнопкой отправки? Требуется ли конкретная форма?Правильный способ вызова сервлета из Facelets?
ответ
Просто используйте простой HTML <form>
вместо JSF <h:form>
. JSF <h:form>
отправляет по умолчанию запрос POST на URL-адрес текущего идентификатора вида и вызывает по умолчанию FacesServlet
. Это не позволяет вам изменять URL-адрес или метод действия формы. Простой HTML <form>
позволяет указать другой URL-адрес и, при необходимости, также метод.
Следующий пример стартового посылает запрос на поиск в Google:
<form action="http://google.com/search">
<input type="text" name="q" />
<input type="submit" />
</form>
Обратите внимание, что вам не нужно использовать компоненты JSF для входов/кнопок, а также. Можно использовать <h:inputText>
и т. Д., Но значения не будут установлены в соответствующем компоненте бэкэнда. Накладные расходы компонента JSF тогда не нужны.
Если вы хотите, например, чтобы послать запрос POST в сервлет, который отображается в URL-схеме /foo/*
и вам необходимо отправить параметр запроса с именем bar
, то вам необходимо создать форму следующим образом :
<form action="#{request.contextPath}/foo" method="post">
<input type="text" name="bar" />
<input type="submit" />
</form>
Таким образом doPost()
метод сервлета будет вызван:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String bar = request.getParameter("bar");
// ...
}
Вы можете позвонить ниже способом из JSF:
<h:outputText value="Download" />
<h:outputLink value="#{request.contextPath}/files" id="btnDownload1" styleClass="redButton">
<h:outputText value="FILESDOWNLOAD" />
</h:outputLink>
</h:panelGrid>
Тогда в web.xml:
<servlet>
<servlet-name>files</servlet-name>
<servlet-class>com.Download</servlet-class>
- 1. Правильный способ обновления содержимого jsp после вызова сервлета?
- 2. вызова HttpClient из сервлета
- 3. Правильный способ вызова $ .getJSON?
- 4. Правильный способ вызова Dispatcher.Invoke
- 5. Правильный способ вызова `setTimeout()`
- 6. Правильный способ вызова изображения из css
- 7. Правильный способ вызова функций суперкласса из подкласса
- 8. Правильный способ установки вызова функции из события?
- 9. Правильный способ вызова функции javascript из java?
- 10. Каков правильный способ вызова функции из строки?
- 11. Каков правильный способ вызова MobileAds.initialize()?
- 12. Правильный способ асинхронного вызова объекта?
- 13. Правильный способ вызова службы WCF
- 14. Правильный способ вызова методов MembershipProvider?
- 15. Функция вызова из другого сервлета
- 16. относительно правильный способ вызова функции
- 17. Правильный способ вызова встроенной сборки
- 18. Правильный способ вызова popToViewController - iOS
- 19. Каков правильный способ вызова scipy.linalg.cython_blas.daxpy?
- 20. Правильный способ вызова метода JavaScript
- 21. Каков правильный способ вызова clGetPlatformInfo?
- 22. Каков правильный способ вызова paintComponent?
- 23. Правильный способ очистки просмотров после вызова текущегоViewController?
- 24. Правильный способ вызова графического интерфейса в Java
- 25. Правильный способ избежать подпроцесс вызова в питона
- 26. SASS, Каков правильный способ вызова mixin?
- 27. Каков правильный способ вызова свойств внутри класса?
- 28. угловой, правильный способ для функции обратного вызова
- 29. угловой2 правильный способ иметь функцию вызова вызова компонента компонента
- 30. вызова сервлета из JSP и использовать, если
спасибо за информацию !! Что объясняет его! – user840930