我有一个包含两种表格的JSF页面
我将JSF 2.2与MyFaces实现一起使用
显示下一个示例(xhtml和ManagedBean)
当我按下添加项目(doNew)按钮时,输入显示正确的值;按下后退(doCancel)按钮后,再次按添加项目(doNew)。
当我按下第一个时,输入exampleBean.newBean.descripcion的值显示旧描述。但输出#{exampleBean.newBean.descripcion}"始终显示正确的值。如果我只使用一种形式这个问题很有效,那么我需要理解为什么不能使用两种形式?
此致
<?xml version="1.0" encoding="UTF-8"?>
<!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">
<h:body>
<h:form styleClass="horizontal-form form-search" id="form1">
<h:messages></h:messages>
<h:commandButton styleClass="btn btn-default btn-success"
value="Add Item" action="#{exampleBean.doNew}">
</h:commandButton>
</h:form>
<h:form id="form2">
<h:messages></h:messages>
<h:outputText value="#{exampleBean.newBean.descripcion}"></h:outputText>
<h:inputText value="#{exampleBean.newBean.descripcion}" id="input1234"></h:inputText>
<h:commandButton styleClass="btn btn-default btn-default"
value="Back" action="#{exampleBean.doCancel}"
immediate="true">
</h:commandButton>
</h:form>
我的ManagedBean是
@ManagedBean(name = "exampleBean")
@ViewScoped
public class ExampleManagedBean {
private Object newBean;
protected String panelMode = null;
public ExampleManagedBean() {
// TODO Auto-generated constructor stub
panelMode = "default";
newBean = new Concepto();
}
public String doCancel() {
panelMode = "default";
return null;
}
public String doNew() {
panelMode = "edit";
Concepto c1 = new Concepto();
c1.setDescripcion("descripcion " + System.currentTimeMillis());
newBean = c1;
return null;
}
public Object getNewBean() {
return newBean;
}
public void setNewBean(Object newBean) {
this.newBean = newBean;
}
public String getPanelMode() {
return panelMode;
}
public void setPanelMode(String panelMode) {
this.panelMode = panelMode;
}
}
答案 0 :(得分:0)
commandButton提交其表单的值。而且它没有看到其他形式的价值。
因此,在您的情况下,您必须将commandButton与要添加的值的形式相同。
表单标记呈现HTML表单元素。 JSF表单使用&#34; post-back&#34;技术将表单数据提交回包含表单的页面。
http://www.jsftoolbox.com/documentation/help/12-TagReference/html/h_form.html