Efter at ha' brugt et custom tag i JSP filer til IF statements i BEA Portal er jeg endelig blevet så træt af BEA's manglende evne til at bære deres "expression language" helt til ende at jeg har skrevet mit eget.
Kort sagt så kommer BEA Portal (8.1) med et sæt tags kaldet NETUI. Disse tags kan indeholde attributter skrevet ala <netui:label value="{actionForm.someGetMethod}" /> hvilket vil resultere i et kald til default formens metode "getSomeGetMethod()". Det er jo meget godt, men desværre er der ikke noget <netui:if test="">...</netui:if> tag.
Selvfølgeligt kan man anvende JSTL men så skal man først binde BEA's expression "{actionForm.someGetMethod}" i en page attribute og SÅ kan man anvende JSTL's IF tag da disse bruger 2 forskellige scopes.
Men her kommer ANTLR så ind i billedet for det er SÅ simpelt at lave sin egen lexer/parser, der kan parse et simpelt expression "sprog" så man kan gøre noget ala følgende:
<tag:if test="{actionForm.someGetMethod} == 'asdf'"> .. </if>
... hvilket gør mit liv noget nemmere... TAK BEA! :-)