我試圖發送一個從用戶那里得到的inputtext變數,然后將其發送到我的bean頁面中的一個方法,這樣它就可以在我的查詢中被替換。我將獲得串列并以表格形式顯示。 這是我的Bean方法:
public String searchWord;
public List<Product> searchList;
public List<Product> getSearchList(){
SessionFactory sessionFactory = new Configuration() 。
Session session = sessionFactory.openSession()。
session.beginTransaction()。
Query query = session.createQuery("From Product where name LIKE '"/span> searchWord "%")。
searchList = query.list();
return searchList;
如果我設定searchWord="Ku",那么我得到正確的插入,并看到以 "Ku "開頭的資料。 然后我試著從我的xhtml頁面到達它,這樣我就可以從用戶那里得到 "Ku"。 這是我的xhtml
<?xml version="1.0" encoding="UTF-8"? >
<!DOCTYPE html PUBLIC "-/W3C/TD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">>
<html xmlns="http://www.w3.org/1999/xhtml"/span>
xmlns:f="http://java.sun.com/jsf/core"。
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Products</title>
</h:head>/span>
<h:body>/span>
<h:form id="id-form" >/span>
<h2><h。 outputText value ="List of all products"></h: outputText></h2>
<h:dataTable style="border: 4px solid black;" value = "#{products_controller.searchList}" rows="#{products_controller.searchList. size()}" var = "item" border ="1" headerClass="tableHeader" >
<h:column>
<f: facet name="header"> Product ID </f:facet>
<h:outputText value="#{item.p_id}"/span> />
</h: column>
<h:column>/span>
<f: facet name="header"> Product Name </f:facet>
<h:outputText value="#{item.p_name}"/span> />
</h: column>
<h:column>/span>
<f: facet name="header"> 產品類 </f:facet>
<h:outputText value="#{item.p_class}" />
</h:column>
<h:column>/span>
<f: facet name="header" > 產品價格 </f:facet>
<h:outputText value="#{item.p_price}" />/span>
</h: column>
<h:column>/span>
<f: facet name="header"> 產品說明 </f:facet>
<h:outputText value="#{item.p_property}"/span> />
</h:column>
<h:column>/span>
<f: facet name="header"> Product Total </f:facet>
<h:outputText value="#{item.p_total}"/span> />
</h: column>
</h:dataTable>/span>
</h:form>/span>
</h:body>/span>
</html>
我如何使用searchWord來更新我的searchList?
uj5u.com熱心網友回復:
為你的searchWord插入一個getter和setter
。public String getSearchWord() { return searchWord; }
public void setSearchWord(String val) { searchWord=val; }
并且在你的xhtml中
<h:form id="id-form" >/span>
<h:inputText value="#{products_controller.searchWord}"/span>>
<f: ajax event="change" render=":id-form"/>
</h:inputText>/span>
隨著輸入欄位內容的改變(當游標離開欄位時),JSF將發送一個AJAX請求,設定searchWord的值(以及表單中可能的其他輸入欄位)。
由于render=,表單將以另一個searchWord重新渲染。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/309836.html
標籤:
