Facelet标签性能

发布于 2024-11-16 09:47:38 字数 568 浏览 6 评论 0原文

我有一个包含大量内容的文件要显示。例如,在显示用户配置文件时, 中的每个 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 时都会调用会话变量。这是正确的行为吗?如何优化这个?

I have a file with large content to display. For example in displaying user profile, every EL expression in <h:outputText/> needs an userId as an argument to bean which is taken from the session context. I declared this userId in xhtml file as

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

I am passing this userId to bean methods as

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

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

I am expectiong the session variable is invoked once for a page. But each time when the userId is processed the sessiion variable is called. Is this the correct behaviour? How to optimize this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心碎无痕… 2024-11-23 09:47:38

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

但是,我会尝试通过在配置文件组件中注入 currentUser 来优化它。这是标准的做法。

Yes this is the correct behavior. It would be interesting to see which is faster. I would guess it is faster to inject the currentUser in your profile component, and then to retrieve the correct object from there, instead of getting the address and contact by the userId each time. (Depends if you cache it in the component or not).

However, I would try to optimize it by injecting the currentUser in the profile component. That is the standard way of doing it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文