有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java服务器面临属性访问问题

我有索引。带有

<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;
}

当我访问索引时。调用HTMLGetUsers是绝对正常的,但当我离开索引时。html到其他一些页面getUsers也被调用,如何避免二次调用


共 (1) 个答案

  1. # 1 楼答案

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

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