i want to pass reference of my Managedbean inside Controller bean as an argument. my Domain Entity is Brand. and i want to set properties of brand from JSF page component. and i want to pass that managedBean reference in controller method and this controller addBrand method getBrandService and save the respective brand Bean. please guide me. thanks :) this is my managed bean code:
@ManagedBean
@RequestScoped
public class BrandBean implements Serializable{
private static final long serialVersionUID = 1L;
private String brandName;
private String brandDecription;
//getters and setters
}
and this is my Controller bean for Brand: // addBrand Method takes brand instance as a parameter. brand is Model Object.
@ManagedBean
@RequestScoped
public class BrandController extends AbstractController{
private IBrandService brandService;
public IBrandService getBrandService() {
brandService = new BrandService();
return brandService;
}
public void setBrandService(IBrandService brandService) {
this.brandService = brandService;
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return null;
}
public void addBrand(String brandName, String brandDecription){
try{
Brand brand = new Brand();
brand.setBrandName(brandName);
brand.setBrandDecription(brandDecription);
getBrandService().addBrand(brand);
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
@ManagedBean
@RequestScoped
@SuppressWarnings("serial")
public class BrandBean implements Serializable {
private int brandId;
private String brandName;
private String brandDescription;
private List<Brand> brands;
private List<Brand> filter;
public List<Brand> getFilter() {
return filter;
}
public void setFilter(List<Brand> filter) {
this.filter = filter;
}
public List<Brand> getBrands() {
return brands;
}
public void setBrands(List<Brand> brands) {
this.brands = brands;
}
public int getBrandId() {
return brandId;
}
public void setBrandId(int brandId) {
this.brandId = brandId;
}
public String getBrandName() {
return brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public String getBrandDescription() {
return brandDescription;
}
public void setBrandDescription(String brandDescription) {
this.brandDescription = brandDescription;
}
}
@ManagedBean
@RequestScoped
public class BrandController {
private BrandBean bean;
@ManagedProperty(value = "#{BrandService}")
private BrandService brandService;
public BrandController() {
bean = new BrandBean();
}
}