- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试加载 selectOneMenu 并给出以下异常:java.lang.IllegalStateException:提交响应后无法创建 session
。我有 xhtml:
<h:outputText value="Nome:" />
<p:selectOneMenu value="" id="nome" >
<f:selectItem itemValue="#{solicitarPortabilidadeBean.listaDoadora}" var="doadora" itemLabel="#{doadora.nomeOperadora}"/>
</p:selectOneMenu>
bean :
@ViewScoped
@ManagedBean
public class SolicitarPortabilidadeBean implements Serializable {
private static final long serialVersionUID = 1L;
private List<Operadora> listaDoadora = null;
private Operadora operadora;
//getters and setters
@EJB
private ConsultasSpnService consultaOp;
public List<Operadora> getListaDoadora() {
if (listaDoadora == null) {
listaDoadora = new ArrayList<Operadora>();
listaDoadora = consultaOp.listarOp();
}
return listaDoadora;
}
public void setListaDoadora(List<Operadora> listaDoadora) {
this.listaDoadora = listaDoadora;
}
public Operadora getOperadora() {
return operadora;
}
public void setOperadora(Operadora operadora) {
this.operadora = operadora;
}
public List<Eot> getListaEot() {
return listaEot;
}
public void setListaEot(List<Eot> listaEot) {
this.listaEot = listaEot;
}
public Eot getEot() {
return eot;
}
public void setEot(Eot eot) {
this.eot = eot;
}
public ConsultasSpnService getConsultaOp() {
return consultaOp;
}
public void setConsultaOp(ConsultasSpnService consultaOp) {
this.consultaOp = consultaOp;
}
}
Operadora 类:
public class Operadora {
private String srvprovid = null;
private String nomeOperadora = null;
private String indicadorFuncoes = null;
private String funcaoSuporte = null;
private String tipoTempReceptora = null;
private String tipoTempDoadora = null;
private String horaTrabSuportado = null;
private Long qtdMaximaTn = null;
private String tipoServico = null;
//getters and setters
public String getSrvprovid() {
return srvprovid;
}
public void setSrvprovid(String srvprovid) {
this.srvprovid = srvprovid;
}
public String getNomeOperadora() {
return nomeOperadora;
}
public void setNomeOperadora(String nomeOperadora) {
this.nomeOperadora = nomeOperadora;
}
public String getIndicadorFuncoes() {
return indicadorFuncoes;
}
public void setIndicadorFuncoes(String indicadorFuncoes) {
this.indicadorFuncoes = indicadorFuncoes;
}
public String getFuncaoSuporte() {
return funcaoSuporte;
}
public void setFuncaoSuporte(String funcaoSuporte) {
this.funcaoSuporte = funcaoSuporte;
}
public String getTipoTempReceptora() {
return tipoTempReceptora;
}
public void setTipoTempReceptora(String tipoTempReceptora) {
this.tipoTempReceptora = tipoTempReceptora;
}
public String getTipoTempDoadora() {
return tipoTempDoadora;
}
public void setTipoTempDoadora(String tipoTempDoadora) {
this.tipoTempDoadora = tipoTempDoadora;
}
public String getHoraTrabSuportado() {
return horaTrabSuportado;
}
public void setHoraTrabSuportado(String horaTrabSuportado) {
this.horaTrabSuportado = horaTrabSuportado;
}
public Long getQtdMaximaTn() {
return qtdMaximaTn;
}
public void setQtdMaximaTn(Long qtdMaximaTn) {
this.qtdMaximaTn = qtdMaximaTn;
}
public String getTipoServico() {
return tipoServico;
}
public void setTipoServico(String tipoServico) {
this.tipoServico = tipoServico;
}
我知道错误是在 xhtml 中调用 bean 时出现的,但我尝试了我所知道的一切。谁能帮我吗?
谢谢!!!
最佳答案
除了代码中的严重逻辑错误之外,在渲染过程中应该不会抛出任何异常,当然不是特别提到的异常,
IllegalStateException: Cannot create a session after the response has been committed
您的具体问题很可能是由 bug 引起的Mojarra 中已在 Mojarra 2.1.8 中修复。当在相对较大的 JSF 页面中“较晚”首次引用 View 作用域或 session 作用域 bean(在响应提交很久之后)时,就会出现此错误。
View 和 session 作用域的 Bean 需要存储在 HTTP session 中。为此,需要首先创建 HTTP session (如果尚未完成的话)(例如首次请求)。为此,需要首先将 cookie 添加到 HTTP 响应 header 中。为此,响应根本不应该发送给客户端。默认响应缓冲区大小通常为 2KB,因此如果页面大于 2KB,并且在第一个 2KB 之后第一次引用 View 或 session 作用域 bean,那么您将得到如下结果异常。
至少升级到 Mojarra 2.1.8(2.1.13 已经是 currently),这个问题应该会消失。
关于java - 我无法更改我的 selectOneMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394152/
这个问题在这里已经有了答案: Make multiple dependent / cascading selection components in JSF (4 个答案) 关闭 2 年前。 我想在
这个问题在这里已经有了答案: How to load and display dependent h:selectOneMenu on change of a h:selectOneMenu (1
我想要多个 通过选择主要显示的 不工作的例子 //this one
我有一个 selectOneMenu,其中包含两个项目“Granted”和“Dismessed” 我在其下还有两个 selectO
在我的应用程序中,如果设置了另一个 SelectOneMenu,我将尝试设置/更新 SelectOneMenu。我们使用的是primefaces,所以我检查了primefaces 展示并找到了我正在寻
我想创建 JSF 注册表单,其中包含包含所有国家/地区列表的选择菜单。我知道这很容易用 Java 实现 HashMap但我不知道如何实现的棘手部分是,在用户从列表中选择他的国家后,第二个选择菜单与他所
我很长时间以来一直试图找出问题所在,但没有成功的结果。我在 Google 中搜索此内容,并尝试了几个不同的工作示例,但没有一个可以帮助我解决我的任务。 问题是,当“类别”selectOneMenu 更
我有一个带有惰性负载。在其中两列中,有一个 在他们每个人中。 第一列包含国家/地区列表,第二列包含数据库中的州列表。 我希望第二个菜单(包含州列表的菜单)仅显示数据表的每行中与中第一个菜单中的国家/地
好吧,我已经坚持了几天(轻描淡写)。 假设我有一个 selectOneMenu 我想根据所选选项更改另一个 selectOneMenu 上的选项在之前的 se
首先,我想为我发布的长代码道歉,它们非常简单,只是一个重复 17 次的 p:selectOneMenu(这就是为什么它很长)。 我遇到的问题是,如果我在一个表单中有太多 p:selectOneMenu
这是针对 JSF 2.0 的(请注意 - 这是 mojerra 实现,我没有使用 Icefaces、myfaces 等) 假设我的表单中只有一个下拉列表,并且该下拉列表绑定(bind)了一个存储值、标
信息 JSF 2.0 Primefaces 3.4 两个对象都是 People 对象 我有一个简单的下拉菜单,包含在提交表单提交(AJAX 调用)上的选择的表单中: ....
我有以下(不言自明的)实体关系: * Manufacturer * Car (Manufacturer.getCars()) * Tire (Car.getTires()) MyBean p
我正在使用可编辑的素面selectOneMenu显示一些值。如果用户从列表中选择一个项目,则应更新文本区域。但是,如果用户在selectOneMenu中键入内容,则不应更新文本区域。 我以为我可以解决
好吧,我需要对 selectOneMenu 标签进行一些说明,使用 EL 表达式来获取/设置值 我有这段代码,它
一个人只能拥有一辆汽车,但在数据表中我想显示列表中的所有汽车,但选择一个用户所属的人。这样用户就可以即时更新任何人的汽车。 假设我有两个 table 人 id name car_id 汽车 id na
我尝试加载 selectOneMenu 并给出以下异常:java.lang.IllegalStateException:提交响应后无法创建 session 。我有 xhtml:
好吧,我需要对 selectOneMenu 标签进行一些说明,使用 EL 表达式来获取/设置值 我有这段代码,它
Person can only have only one car ,但在数据表中我想显示列表中的所有汽车,但选择一个用户所属的用户。这样用户就可以即时更新任何人的汽车。 假设我有两个表 人物 id
我在 JSF 页面上使用 SelectOneMenu 组件和 SelectBooleanCheckbox 组件。 如果选择了组合框,我的 SelectOneMenu 应被阻止并设置为第一个元素(重置)
我是一名优秀的程序员,十分优秀!