Example
myCode |
Test |
Test |
Xpath
jeesl:outputXpath is a function that outputs the result of xpath expression, given the value as xml object.
< jeesl:outputXpath value="#{outputXpathBean.menu}" xpath="@code"/> == > myCode
< jeesl:outputXpath value="#{outputXpathBean.menu}" xpath="name/en/@lang"/> ==>myLang
<j:outputXpath value="#{outputXpathBean.menu}" xpath="#{outputXpathBean.xpath1}"/>
<j:outputXpath value="#{outputXpathBean.multiLang}" xpath="#{outputXpathBean.xpath2}"/>
<j:outputXpath value="#{outputXpathBean.multiLang}"
xpath="#{outputXpathBean.xpath3}" localeCode="#{localeCode}"/>
@Named @SessionScoped
public class OutputXpathBean extends AbstractJeeBean implements Serializable
{
final static Logger logger = LoggerFactory.getLogger(OutputXpathBean.class);
private static final long serialVersionUID = 1L;
@PostConstruct
public void init()
{
super.initSecurity();
showcase();
}
private MenuItem menu; public MenuItem getMenu() {return menu;}
protected IoLocale multiLang; public IoLocale getMultiLang() {return multiLang;}
private String xpath1; public String getXpath1() {return xpath1;}
private String xpath2; public String getXpath2() {return xpath2;}
private String xpath3; public String getXpath3() {return xpath3;}
private void showcase()
{
menu = new MenuItem();
menu.setCode("myCode");
IoLang lang = new IoLang();
lang.setLkey("en");
lang.setLang("Test");
HashMap<String,IoLang> map = new HashMap<String,IoLang>();
map.put(lang.getLkey(),lang);
multiLang = new IoLocale();
multiLang.setName(map);
xpath1 = "@code";
xpath2 = "name/en/@lang";
xpath3 = "name/$localeCode$/@lang"; //OutputXpathPattern.multiLang;
}
}