【发布时间】:2015-04-18 20:32:26
【问题描述】:
这可能是一个简单的问题,但我无法弄清楚。
这是我的 xhtml 页面:
*update p tag here, I am using primefaces*
<h:outputLabel for="Number" value="Number(100-800):" />
<h:inputText id="number" name="number_Name" value="#{validationView.number}" label="Number">
<f:validateDoubleRange minimum="100" maximum="800" />
</h:inputText>
<p:commandButton value="S-ubmit" name="submit" actionListener="#{userBean1.method1}" ajax="false" icon="ui-icon-check" validateClient="true"/>
这是我的托管 bean
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.primefaces.context.RequestContext;
@ManagedBean(name="userBean1")
@SessionScoped
public class UserBean1
{
public void method(){
String value = FacesContext.getCurrentInstance().
getExternalContext().getRequestParameterMap().get("number_Name");
System.out.println("Value: "+value);
}
public void method1(ActionEvent event) {
String param = (String) event.getComponent().getAttributes().get("number_Name");
System.out.println("Param: "+param);
}
}
我尝试了这两种方法,在这两种情况下它都打印null 输出。我将 el-impl-2,2.jar 导入到我的构建路径中。我正在使用 primefaces 5.1 和 Tomcat7
【问题讨论】:
-
我认为你必须退后一步,做一些 jsf 101。这是尝试获取输入字段值的一种不寻常的方式。它确实不是那样工作的。您通常在 bean 中设置值并让框架为您完成所有这些工作
-
我想获取这个输入变量来设置和调用存储过程。
标签: jsf-2 primefaces