c:为bean属性设置

Dom*_*rer 5 jsf jstl properties managed-bean

我正在寻找一些用于在JSF托管bean中设置属性的代码.我的第一个想法是这样的:

<c:set var="#{loginBean.device}" value="mobil"></c:set>
Run Code Online (Sandbox Code Playgroud)

这意味着我想将属性device设置为值,"mobil"而不必单击按钮.

小智 10

是的,您可以使用c:set来实现此目的.

<c:set value="mobil" target="#{loginBean}" property="device" />
Run Code Online (Sandbox Code Playgroud)

Doc:http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/c/set.html

但是,设置静态值很少有意义.您可以考虑直接在托管bean类中设置默认值.另外在可维护性方面,因为您可以在Java代码中比在视图层中更好地处理常量.

  • 正如旁注:JSF 2.2提出了一个很好的解决方案:查看操作(请参阅http://jdevelopment.nl/jsf-22/#758).如果可能,我宁愿不使用jstl.当使用值表达式而不是静态值时,建议的方法可能导致丑陋的副作用,因为在不同的时间点评估JSTL. (3认同)