Я знаю, что это было задано несколько раз, но мой вопрос немного отличается.Как передать параметры URL JSF/xHTML?
У меня есть страница JSF, которая запрашивает базу данных и генерирует результаты, прежде чем перейти к JSF, я использовал это в JSP, и он работал нормально.
Когда я использовал JSP ниже формат ссылку я имел обыкновение использовать
http://localhost:8080/blmdatabase/index.jsp?SearchString=Name&Category=Contact&Submit=Submit
Мой index.jsp используется для получения значений с помощью param.SearchString & param.Category и «Отправить» используется для активации кнопку «отправить» для поиска.
Как сделать то же самое для xHTML/JSF?
Вот что я пытался ...
http://localhost:8080/blmdatabase/index.xhtml?search=#{some search string}
В моей index.xhtml
<td>
<f:metadata>
<f:viewParam name="search" value="#{databaseSearch.searchstring}" />
</f:metadata>
<p:inputText id="searchstring" size="20" maxlength="20" value="#{databaseSearch.searchstring}"/> <p:commandButton id="submit" icon="ui-icon-search" title="Search Database" update="panel" actionListener="#{databaseSearch.customerList}" />
</td>
в моем databaseSearch.java
@ManagedBean(name = "databaseSearch")
@SessionScoped
public class databaseSearch implements Serializable {
public String searchstring;
//getter and setter for searchstring
}
Кроме того, я бы это нужно " Отправить форму. Я новичок в этом, поэтому, пожалуйста, извините меня, если это уже обсуждалось до ...
Также, если я определен index.html, мои компоненты jsf не будут загружаться, просто пустая страница. как если бы я пойти
http://localhost:8080/blmdatabase/
мои primefaces компоненты нагрузки хорошо, но если я делать
http://localhost:8080/blmdatabase/index.xhtml
это не делает, так что теперь я задаюсь вопросом, как передать параметры :(
Web .xml
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
* if i do 'http: // localhost: 8080/blmdatabase/index.xhtml' it does not * Похож на проблему в вашем URL-адресе URL-адреса сервлетов Faces. Отправьте эту часть конфигурации из файла web.xml, чтобы получить дополнительную помощь. –
Возможный дубликат [Что можно использовать и ?] (Http://stackoverflow.com/questions/6377798/what-can-fmetadata-and-fviewparam-be-used-for) –
BalusC
@LuiggiMendoza сделаю. .. –