【发布时间】:2011-08-26 09:11:47
【问题描述】:
我有一个 JSF 页面,用户可以在其中将他们的汽车输入我的数据库。该表单具有三个输入字段:
- 制造商
- 型号
- 注册
我使用的是 PrimeFaces 3.0.M2,Manufacturer 和 Model 字段都是自动完成输入字段:
<p:autoComplete id="manufacturer"
minQueryLength="3"
completeMethod="#{carController.completeManufacturer}"
forceSelection="true"
value="#{carController.manufacturer}" />
模型的字段看起来相同,但值明显略有不同。
托管 bean 如下所示(略略):
private String manufacturer;
private String model;
private String registration;
public List<String> completeManufacturer(String query) {
List<String> ms = new ArrayList<String>();
for (Manufacturer m : manufacturerFacade.findAllByName(query)) {
ms.add(m.getLongName());
}
return ms;
}
public List<String> completeModel(String query) {
List<String> ms = new ArrayList<String>();
for (Model m :
modelFacade.findAllByManufacturer(manufacturerFacade.findByName(manufacturer))) {
ms.add(m.getShortName());
}
return ms;
}
问题在于填写model 字段。我需要此字段仅显示基于所选制造商的自动完成结果,但托管 bean 中的 manufacturer 字符串在整个表单提交之前不会被填充,因此我无法查找与所选制造商关联的模型.
我将如何只提交manufacturer 字段而不提交整个表单,以便我可以查看所选制造商的型号?
谢谢!
【问题讨论】:
标签: java jsf jakarta-ee primefaces