我的JSF应用程序有问题,因为我正在使用优惠券的int值创建User对象,我想展示它们,但它不起作用。优惠券总是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>
用户名正常显示,即使在服务类中创建了用户对象且优惠券值设置为100
,优惠券也始终为0答案 0 :(得分:3)
我认为你只是在这里混合你的User
实例:
User admin = new User("JustCinek", "26454dd458d9b07364a3a198fcfd459f", "marcingadomski94@gmail.com", "Jettesvej 15, 2TV", "8220", "Aarhus", 100);
在使用service.java
manged bean实例化的不同bean(user
)中发生了这种情况,当你第一次调用bean时会发生这种情况。
请注意,您在JSF页面中使用的user
对象以及托管bean User
的名称与您在服务bean中实例化的admin
不同,因此,在呈现页面后,您获得的用户名可能是您在托管bean中设置或初始化的用户名,而不是服务bean中的用户名,这解释了为什么您可以在优惠券保持0
时看到有效的用户名(未初始化,因此它将获得默认值,0
为int