如何在java中运行时生成setter和getter?

时间:2012-08-29 09:47:39

标签: java jsf

我有一个功能,我通过它在JSF上显示文档的属性。 这些属性来自一个地图,我在JSF上迭代它,如下所示:

<af:iterator var="list" value="#{MainContentBean.documentProperties}" id="i1">
    <af:inputText label="#{list.key}" id="it1"editable="always" value="list.value">                
</af:iterator>

这个工作正常,直到我只想将它用于显示目的,但是如果我想把它变成数据表,那么用户可以改变输入文本框的值,它不起作用。如果不存在setter和getter,则输入文本框始终以只读模式显示。我在map中得到的值是不确定的,所以在这种情况下,如何在运行时为每个属性值生成setter和getter? 这可能吗?

1 个答案:

答案 0 :(得分:1)

是的,可以使用cglib。看看"Adding setter/getters with cglib to compete with RoR... Dumb idea? Input from Crazy Bob"

另外,请查看建议使用ASM的this answer