gpt4 book ai didi

javaserverfaces属性访问问题

转载 作者:行者123 更新时间:2023-11-29 03:57:59 24 4
gpt4 key购买 nike

我有 index.html 页面

<h:dataTable id="usersTable" value="#{mainViewController.users}" var="user" border="1">
....

并请求范围内的 mainViewController bean

@Component("mainViewController")
@Scope("request")
public class MainViewController {
@Inject
private UserDao userDao;
private Collection<User> users;

public Collection<User> getUsers() {
if (users == null) {
users = userDao.findAll();
}
return users;
}

当我访问index.html时调用getUsers,那是绝对正常的,但是当我离开index.html到其他页面时getUsers也被调用,如何避免二次调用?

最佳答案

不要将 POST 用于页面到页面的导航。所以不要使用 <h:commandLink><h:commandButton>导航到另一个页面。它将不必要地向服务器提交表单并重新创建相同的 bean。只需使用 <a> , <h:outputLink> , <h:link><h:button>用于页面到页面的导航。他们直接在目标 URL 上发出 GET 请求。

使用 GET 进行页面到页面导航的另一个优点是搜索机器人将为页面编制索引。因此,对 SEO 更好。

关于javaserverfaces属性访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com