Int 始终为 0 - JSF
Int is always 0 - JSF
我的 JSF 应用程序有问题,因为我正在创建具有优惠券 int 值的用户对象并且我想显示它们,但它不起作用。优惠券始终为0。其余(用户名和内容)正常加载。
这是一些代码:
Service.java
User admin = new User("JustCinek", "26454dd458d9b07364a3a198fcfd459f", "marcingadomski94@gmail.com", "Jettesvej 15, 2TV", "8220", "Aarhus", 100);
users.add(admin);
User.java
public User(String username, String password, String email, String address, String zipCode, String town, int coupons){
this.username = username;
this.password = password;
this.email = email;
this.address = address;
this.zipCode = zipCode;
this.town = town;
this.coupons = coupons;
}
public int getCoupons(){ return this.coupons; }
public void setCoupons(int coupons){ this.coupons = coupons; }
index.xhtml
<h:form rendered="#{user.loggedIn}">
<div id="menuItem" class="clearfix">
Witaj, #{user.username}!<br></br>
Twoje kupony: #{user.coupons}
</div>
</h:form>
用户名正常显示,优惠券始终为 0,即使在服务 class 中创建用户对象并将优惠券值设置为 100
我认为您只是在此处混合 User
实例化:
User admin = new User("JustCinek", "26454dd458d9b07364a3a198fcfd459f", "marcingadomski94@gmail.com", "Jettesvej 15, 2TV", "8220", "Aarhus", 100);
这是在另一个 bean (service.java
) 中发生的 user
托管 bean 实例化,这将在您首次调用 bean 时发生。
请注意,您在 JSF 页面中使用的 user
对象是托管 bean User
的名称,与您在服务中实例化的 admin
不同bean,所以您在呈现页面后获得的用户名可能是您在托管 bean 中设置或初始化的用户名,而不是在服务 bean 中,这解释了为什么您可以看到有效的用户名,而您的优惠券仍然存在 0
(未初始化,因此它将获得默认值,对于 int
是 0
)
我的 JSF 应用程序有问题,因为我正在创建具有优惠券 int 值的用户对象并且我想显示它们,但它不起作用。优惠券始终为0。其余(用户名和内容)正常加载。
这是一些代码: Service.java
User admin = new User("JustCinek", "26454dd458d9b07364a3a198fcfd459f", "marcingadomski94@gmail.com", "Jettesvej 15, 2TV", "8220", "Aarhus", 100);
users.add(admin);
User.java
public User(String username, String password, String email, String address, String zipCode, String town, int coupons){
this.username = username;
this.password = password;
this.email = email;
this.address = address;
this.zipCode = zipCode;
this.town = town;
this.coupons = coupons;
}
public int getCoupons(){ return this.coupons; }
public void setCoupons(int coupons){ this.coupons = coupons; }
index.xhtml
<h:form rendered="#{user.loggedIn}">
<div id="menuItem" class="clearfix">
Witaj, #{user.username}!<br></br>
Twoje kupony: #{user.coupons}
</div>
</h:form>
用户名正常显示,优惠券始终为 0,即使在服务 class 中创建用户对象并将优惠券值设置为 100
我认为您只是在此处混合 User
实例化:
User admin = new User("JustCinek", "26454dd458d9b07364a3a198fcfd459f", "marcingadomski94@gmail.com", "Jettesvej 15, 2TV", "8220", "Aarhus", 100);
这是在另一个 bean (service.java
) 中发生的 user
托管 bean 实例化,这将在您首次调用 bean 时发生。
请注意,您在 JSF 页面中使用的 user
对象是托管 bean User
的名称,与您在服务中实例化的 admin
不同bean,所以您在呈现页面后获得的用户名可能是您在托管 bean 中设置或初始化的用户名,而不是在服务 bean 中,这解释了为什么您可以看到有效的用户名,而您的优惠券仍然存在 0
(未初始化,因此它将获得默认值,对于 int
是 0
)