是否有可能在jsf解析之前执行一些java代码?在解析之前执行代码
我用例:比方说,我在外部属性文件中定义的几个outputText
:
<h:outputText value="#{msg['my.example.label']}"/>
前后每本outputText
我想有msg
键的值另一个的outputText的(用于调试目的)。
<h:outputText value="#{msg['my.example.label']}"/>
<h:outputText value="my.example.label"/>
而且我不希望它添加人工每个标签,但写一些代码,可以检测#{msg[...]}
片段,提取关键和原始标签后添加。
JSF有可能吗?
你可以做两件事。创建一个将'key'作为属性的自定义组件,并且在它内部既显示密钥又显示已解析的'msg'(如果处于调试模式)或者只显示不在调试/开发者模式下的标签。但是你也可以创建一个资源解析器(在https://stackoverflow.com/questions/13655540/read-resource-bundle-properties-in-a-managed-bean中的答案中的'替代'部分,并让它返回在开发人员模式下键值和解析值 – Kukeltje