проблема доступа к свойству javaserverfaces - PullRequest
1 голос
/ 04 марта 2011

У меня есть страница 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 также называется, как избежать вторичного вызова?

1 Ответ

4 голосов
/ 04 марта 2011

Не используйте POST для постраничной навигации.Поэтому не используйте <h:commandLink> или <h:commandButton> для перехода на другую страницу.Он будет излишне отправлять форму на сервер и воссоздавать тот же компонент.Просто используйте <a>, <h:outputLink>, <h:link> или <h:button> для постраничной навигации.Они запускают запрос GET прямо по целевому URL.

Еще одно преимущество использования GET для перехода между страницами состоит в том, что поисковые роботы будут индексировать страницы.Таким образом, лучше для SEO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...