Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何将XHTML表单数据传递到JavaBean类变量中?_Jsf - Fatal编程技术网

Jsf 如何将XHTML表单数据传递到JavaBean类变量中?

Jsf 如何将XHTML表单数据传递到JavaBean类变量中?,jsf,Jsf,我试图将XHTML文件中的表单文本传递到JavaBean类中一个名为userNumber的变量中,但无法解决如何将用户输入的数字传递到JavaBean类变量中 以下是XHTML文件的代码: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Numbers Page</ti

我试图将XHTML文件中的表单文本传递到JavaBean类中一个名为userNumber的变量中,但无法解决如何将用户输入的数字传递到JavaBean类变量中

以下是XHTML文件的代码:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">
    <h:head>
        <title>Numbers Page</title>
    </h:head>
    <h:body>
        <h1></h1>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p>Your guess: <h:form> <input type="text" name="numberGuess">
        <p></p>
        <h:commandButton value="Play" action="game_result"/>
        </input></h:form></p>
    </h:body>
</html>

请帮忙!谢谢

Adnan我认为您正在学习jsf,并且对jsf的工作原理和模型绑定if的提供有一个误解,与Servlet和jsp相比,后者更侧重于请求和响应http对象抽象,事实上,在jsf中,您可以从请求中获得值,但这不是正确的方法。 对于您的情况,您可以用这种方式绑定值

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">
    <h:head>
        <title>Numbers Page</title>
    </h:head>
    <h:body>            
        <p>Your guess: 
           <h:form> 
                <h:inputText value="#{game.number}"/>
                <h:commandButton value="Play" action="game_result"/>
           </h:form>
        </p>
    </h:body>
</html>
注意,我将bean的名称设置为
game
@ManagedBean(name=“game”)
,并将其绑定到bean
game
的属性
number
中的输入,这样jsf就可以在每次将表单发送到服务器时将属性名称中的值设置为输入的值

您还可以通过这种方式获取请求值

FacesContext.getCurrentInstance().getExternalContext().getRequestHeaderValuesMap().get("numberGuess");

我已经完成了您提到的操作,但在我的结果xhtml页面上没有任何输出。请帮忙!
@ManagedBean(name="game")
@RequestScoped
public class GameBean
{
   private String number;
   public String getNumber() {
      return this.number;
   }
   public void setNumber(String number) {
      this.number = number;
   }    
}
FacesContext.getCurrentInstance().getExternalContext().getRequestHeaderValuesMap().get("numberGuess");