我有一个包含大量内容的文件.例如,在显示用户配置文件时, h:outputText /中的每个EL表达式都是如此.需要userId作为bean的参数,该参数取自会话上下文.我在xhtml文件中将此userId声明为 ui:p
<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来优化它.这是做到这一点的标准方式.