当前位置 : 主页 > 网络安全 > 测试自动化 >

facelet标签性能

来源:互联网 收集:自由互联 发布时间:2021-06-22
我有一个包含大量内容的文件.例如,在显示用户配置文件时, h:outputText /中的每个EL表达式都是如此.需要userId作为bean的参数,该参数取自会话上下文.我在xhtml文件中将此userId声明为 ui:p
我有一个包含大量内容的文件.例如,在显示用户配置文件时,< h:outputText />中的每个EL表达式都是如此.需要userId作为bean的参数,该参数取自会话上下文.我在xhtml文件中将此userId声明为

<ui:param name="userId" value="#{currentUser.id}"/>

我将此userId传递给bean方法为

<h:outputText value="#{profile.getAddress(userId)}"/>
<h:outputText value="#{profile.getContact(userId)}"/>

<s:link>
<f:param name="userId" value="#{userId}"/>
</s:link>

我预测会话变量被调用一次页面.但是每次处理userId时都会调用sessiion变量.这是正确的行为吗?如何优化这个?

是的,这是正确的行为.看看哪个更快会很有趣.我猜想在您的配置文件组件中注入currentUser会更快,然后从那里检索正确的对象,而不是每次都获取userId的地址和联系人. (取决于您是否将其缓存在组件中).

但是,我会尝试通过在配置文件组件中注入currentUser来优化它.这是做到这一点的标准方式.

网友评论