Posts Tagged ‘Richfaces’(Reusable) Dependent dropdowns in Seam and RichfacesPublished Thursday, May 7th, 2009 by ANIn the previous post I had some code to illustrate how I do dependent dropdowns with seam and richfaces. I cleaned it up to focus on the important stuff and I am not sure to which degree it compiles and runs. However, you may have noticed one thing that is certainly odd. Most of the operations are on the object named “vendormodelselector” which is described in the post. But the search action is on “searcher”. This is because I include the seam file on multiple pages with “ui:include” (xmlns:ui=”http://java.sun.com/jsf/facelets”). and with “ui:param” I can pass a different searcher object depending on the page. Like this
<ui:include src="vendormodelmenu.xhtml">
<ui:param name="vendormodelheader" value="Appropriate header"/>
<ui:param name="searcher" value="#{searcher_object_name}"/>
</ui:include>
Neat! Dependent dropdowns in Seam and RichfacesPublished Friday, April 17th, 2009 by ANIt is not uncommon to want to make a combobox with choices that depend on another combobox. But it often seems very complicated to actually do this. So here is a piece of example code that I use with Seam and Richfaces. Imagine we have different vendors Vendors each with different Models of something. The somewhat large blurb of Richfaces markup is to make two ordinary input textfields feel like two ajaxy comboboxes. It sucks a bit, but on the other hand the Java code is nice and clean. How do you make dependent gui elements? xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j"> <div class="dialog"> Vendor</div> <div class="dialog"> Model <br class="clear" /></div> package test;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import org.jboss.labs.seam.guice.Guice;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.log.Log;
import com.google.inject.Inject;
import dk.telenor.tacs.api.DBApi;
import dk.telenor.tacs.db.Model;
import dk.telenor.tacs.db.Vendor;
@Stateful
@Scope(ScopeType.SESSION)
@Name("vendormodelselector")
@Guice
public class VendorModelSelectorBeanImpl implements VendorModelSelectorBean {
@Inject private DBApi dbApi;
@Out(required = false, value="model")
private Model model = new Model();
@Out(required = false, value="vendor")
private Vendor vendor = new Vendor();
public List autocompleteVendor(){
return dbApi.getMatches(new Vendor());
}
public List autocompleteModel(){
if (vendor == null || vendor.getName() == null) {
return new ArrayList();
}
return dbApi.getMatches( new Model(vendor, null) );
}
public void setVendor(final Vendor vendor){
this.vendor = vendor;
}
public void setModel(final Model Model){
this.model = model;
}
public Model getModel(){
return model;
}
public boolean isReady(){
return model.getId() != null;
}
@Remove
public void destroy(){}
}
Using TDC’s Columbine with modern browsers
Thursday, April 14th, 2011
On columbine.tdc.dk there is a gui with tools for resellers of TDC eBSA products. These ... Groovy CPE
Thursday, February 3rd, 2011
I've been working quite a lot on a TR069 AutoConfigurationServer. As part of the prototyping ... |
||
|
© 2011 Code3 ApS | Kigkurren 8G, 3.TH | 2300 København S | +45 7020 3383 | kontakt@code3.dk
![]() ![]() |
||