Hello, I have some problems with several skins which I would like to apply on a certain page.
I have made a select one menu which holds the skin names
<h:selectOneMenu styleClass="selectOneMenu"
value="${skinBean.skin}" style="width:100px" onchange="submit()">
<s:selectItems value="#{skinBean.predefinedSkins}"
var="result" label="#{result}"
noSelectionLabel="#{messages['select']}" />
</h:selectOneMenu>@Stateless
@Scope(ScopeType.STATELESS)
@Name("skinBean")
public class SkinBean implements Skin {
public final String defaultSkin = "blueSky";
@Out(required=false)
public String skin = defaultSkin;
public List<String> predefinedSkins = new ArrayList<String>();
/**
* Default constructors
*/
public SkinBean() {
predefinedSkins.add("blueSky");
predefinedSkins.add("emeraldTown");
predefinedSkins.add("ruby");
predefinedSkins.add("wine");
predefinedSkins.add("plain");
predefinedSkins.add("japanCherry");
predefinedSkins.add("classic");
predefinedSkins.add("deepMarine");
}
public String getSkin() {
return skin;
}
public void setSkin(String skin) {
if (!RegisterOfficeUtils.isStringDefined(skin)) skin = defaultSkin;
if (skin.equalsIgnoreCase("default")) skin = defaultSkin;
if (skin.equalsIgnoreCase("select")) skin = defaultSkin;
System.out.println("SETTING SKIN TO ["+skin+"]");
this.skin = skin;
}
public String getDefaultSkin() {
return defaultSkin;
}
public List<String> getPredefinedSkins() {
return predefinedSkins;
}
}<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>#{skinBean.skin}</param-value>
</context-param>