我有這樣的理論的情況:合併兩個非常相似的方法
一個形式與
2輸入 [屬性
attr1
,對象item
的attr2
] **<h:inputText id="attr1" value="#{bean.item.attr1}"/> <h:inputText id="attr2" value="#{bean.item.attr2}"/>
個2提交按鈕 [由
attr1
搜索,在DTBattr2
在foo.xhtml:<h:commandButton id="search1" action="#{bean.search1}" /> <h:commandButton id="search2" action="#{bean.search2}" />
和兩個非常相似的方法在bean.java:
public void search1(){
try
{
session = DaoSF.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(Foo.class);
criteria.add(Restrictions.like("attr1", item.getAttr1()));
dataList = criteria.list();
}
catch (Exception e) {...}
}
public void search2(){
try
{
session = DaoSF.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(Foo.class);
criteria.add(Restrictions.like("attr2", item.getAttr2()));
dataList = criteria.list();
}
catch (Exception e) {...}
}
有將這兩種方法合併爲一種方法?
UPDATE:還合併commandButtons的操作?
SOLUTION:
private void search(String field, String value)
action="#{bean.search('attr2', bean.item.attr1)}"
謝謝Bozho,這是一個錯誤的問題,我應該要求甚至合併命令按鈕中的動作,像'action =「#{bean.search(bean.item.attr1,」aatr2「)}'': - ) – gaffcz
這應該與jsf 2 – Bozho
mein gott,你是對的,但用'attr2'而不是'attr2'...謝謝你,對不起:) – gaffcz