- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不想在 selectOneMenue 中显示我的枚举类 [license] 的值。
<h:selectOneMenu id="licenseclassmenue" >
<f:selectItem itemLabel="select license"/>
<f:selectItems value="#{licenseCodes.licenseCodes}"/>
</h:selectOneMenu><br />
我的许可证代码类:
/**
* convert enum to array of strings
*
* */
@ManagedBean(name = "licenseCodes" )
@SessionScoped
public class LicenseCodes {
public SelectItem[] getLicenseCodes() {
SelectItem[] licenses = new SelectItem[License.values().length];
int i = 0;
for (License l : License.values()) {
licenses[i++] = new SelectItem(l, l.name());
}
return licenses;
}
}
枚举
public enum License {
A("A"),B("B"),C("C");
private String value;
private License(String v) {
this.value = v;
};
}
当我部署项目时,selectOneMenue 中不会有任何许可证。在调试过程中,我注意到 getLicenseCodes() 永远不会被调用。
我在这里做错了什么?
最佳答案
这是您的类(class):
package so.question14163260;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.model.SelectItem;
@ManagedBean(name = "licenseCodes")
@SessionScoped
public class LicenseCodes {
private SelectItem[] licenses;
public LicenseCodes() {
System.out.println("================Inside===============");
}
@PostConstruct
public void init() {
SelectItem[] licenses = new SelectItem[License.values().length];
int i = 0;
for (License l : License.values()) {
licenses[i++] = new SelectItem(l, l.name());
}
setLicenses(licenses);
}
public SelectItem[] getLicenses() {
return licenses;
}
public void setLicenses(SelectItem[] licenses) {
this.licenses = licenses;
}
}
这是 xhtml:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head></h:head>
<h:body>
<h:selectOneMenu id="licenseclassmenue" >
<f:selectItem itemLabel="select license"/>
<f:selectItems value="#{licenseCodes.licenses}"/>
</h:selectOneMenu>
</h:body>
</html>
这是屏幕截图
如您所见,它正在工作。
我在测试时忘记添加@SessionScoped
注释。现在添加后也可以了。
关于java - JSF - 为什么 SessionScoped 类的实例未初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14163260/
这个问题在这里已经有了答案: How to choose the right bean scope? (2 个答案) 关闭 7 年前。 我已经阅读了范围类型(@SessionScoped、@Vi
这个问题在这里已经有了答案: How to choose the right bean scope? (2 个答案) 关闭 7 年前。 我已经阅读了范围类型(@SessionScoped、@Vi
我有一个填充有选项客户端的列表框,我需要将此列表框中的值存储到 sessionScope。 这是我的列表框 这是我用来填充列表框的 jquery $("[id$='listBox1']").appe
问题 我遇到了严重的问题(也许更多的是理解问题?),sessionScope 只是不想与我合作?事情是这样的: 我的网站有很多复选框。单击其中一个时,使用 ajax 调用将复选框信息存储到 sessi
我正在尝试在 xpages 应用程序中申请循环。 在计算字段中,我放入了以下代码,它显示了预期的结果。 var msg = ""; for(var j = 1; j <5;j++) { msg
我正在使用 SessionScoped bean 来存储我从使用 JPA 的 ClientService 中检索的 Client 对象。当我的网页加载时,我传递一个 GET Id 参数来检索正确的 C
显然,在 Web 应用上下文中很容易有多个并行请求访问同一个 @SessionScoped bean。我认为在这些请求中访问 @SessionScoped bean 时必须显式控制同步是否正确? 最佳
您好,我是 jsf 的新手,遇到了这样的问题。我有这个代码的起始页:
我的 Web 应用程序上有此配置。 2个 bean : 1° Bean - 检查登录; @ManagedBean(name="login") @SessionScoped public class L
CDI 新手问题。简单测试场景:JSF + CDI SessionScoped bean。 我需要一种优雅的方法来实例化一组已知的 session 作用域 CDI bean,而无需在 JSF 页面上提
在 XPage 上,我有一个导航器,它根据所选项目设置 sessionScope 变量。然后我在 SwitchFacet 中使用该值来显示几个不同 View 之一。这工作得很好,但我知道 switch
我有一个过程需要很长时间才能计算出来,因此在无状态EJB中将其标记为@Asynchronous。当过程完成时,我希望它从启动过程以存储结果的 session 中访问SessionScoped bean
JSF 2.0 项目中的 SessionScoped bean 有一个非常奇怪的问题。使用 Netbeans 6.9.1、Glassfish 3 服务器和 PrimeFaces 3 作为 JSF 组件
我不想在 selectOneMenue 中显示我的枚举类 [license] 的值。 我的许可证代码类: /**
我需要在用户试图离开页面、关闭选项卡或浏览器本身时弹出警告。我能够使用下面的 window.onbeforeunload 调用成功构建它。客户修改了要求,仅当网页上有未保存的编辑时才弹出。 我为页面上
我有名为 Navigation 的父类和名为 ExtendingNavigation 的子类。 Navigation 注释为 @Named("navigation") 和 @SessionScoped
我的目标是呈现一个具有创建、检索和更新功能的 jsf 页面。我决定为每个操作创建不同的 CDI bean 和不同的复合组件,然后将它们全部放在页面中。 到目前为止一切顺利,但我刚刚完成,我发现了一个非
我们的应用程序有非常奇怪的 react 。该应用程序有一个(单例)服务 - 让我们称之为 singletonService 。以及在 session 范围内运行的其他服务。 sessionServic
你好 我目前正在玩 Guice 和@SessionScoped。为了让它更有意义,我决定构建一个(非常简单的)身份验证过程。 下面,我将解释我所做的每一步。然后我会问你一些问题。 [1] 我创建了一个
任务是通过 JSTL 从 session 中检索参数。 session 参数名称是 "programId"。 我试过: please execute 然后我尝试: please ex
我是一名优秀的程序员,十分优秀!