2
在JSF & Primefaces web應用程序中,我想爲primefaces輸入文本區域控件的完整方法傳遞一個值。我已經嘗試過如下。傳遞參數來完成primefaces inputtextarea控件的方法
JSF文件
<p:inputTextarea id="txtMicMemoVal"
value="#{patientReportController.memoEnterVal}"
style="min-width: 200px;"
completeMethod="#{investigationItemValueController.completeValues}" >
<f:attribute name="ii" value="#{pv.investigationItem}" />
<f:ajax event="blur" execute="@this"
listener="#{patientReportController.saveMemoVal(pv.id)}" ></f:ajax>
</p:inputTextarea>
相關支持bean
public List<String> completeValues(String qry) {
System.out.println("completing values");
FacesContext context = FacesContext.getCurrentInstance();
InvestigationItem ii;
try {
ii = (InvestigationItem) UIComponent.getCurrentComponent(context).getAttributes().get("ii");
System.out.println("ii = " + ii);
} catch (Exception e) {
ii = null;
System.out.println("error " + e.getMessage());
}
Map m = new HashMap();
String sql;
sql = "select v.name from InvestigationItemValue v "
+ "where v.investigationItem=:ii and v.retired=false and"
+ " (upper(v.code) like :s or upper(v.name) like :s) order by v.name";
m.put("s","'%"+ qry.toUpperCase()+"%'");
m.put("ii", ii);
List<String> sls = getFacade().findString(sql, m);
System.out.println("sls = " + sls);
return sls;
}
但是,當我輸入文本輸入文本區域不開的支持bean方法。但是,如果我刪除f:屬性,則會觸發輔助bean。但我也想要這個參數以及功能。
在此先感謝引導我過來這個問題。
感謝。那很有效。我很想發佈我的代碼,但在評論中,這是不可能的。 –
你仍然可以編輯上面的問題並添加它;) –