为什么JSF以空形式添加隐藏字段?

为什么JSF以空形式添加隐藏字段?,jsf,Jsf,所以我的观点是: <!DOCTYPE html> <html xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>Welcome</title> </h:head> <h:body> <h:form id="myForm" prependId=

所以我的观点是:

<!DOCTYPE html>
<html xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
<h:head>
    <title>Welcome</title>
</h:head>
<h:body>
    <h:form id="myForm" prependId="false">
    </h:form>
</h:body>
</html>

欢迎光临
这是html输出的来源:

<!DOCTYPE html>
<html>
    <head>
        <title>Welcome</title>
     </head>
<body>
    <form id="myForm" name="myForm" method="post" action="/6june/index.xhtml"
                  enctype="application/x-www-form-urlencoded">
        <input type="hidden" name="myForm" value="myForm" />
        <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState"
value="-6073854252721841133:2030478025710553343" autocomplete="off" />
    </form>
</body>
</html>

欢迎光临
那么为什么我要得到两个隐藏的输入字段呢?这个值是多少


注意。

这两个隐藏字段是由h:form的渲染器添加的。它们随每个JSF请求一起发送,并在执行回发(表单提交)时由JSF用于恢复其视图。javax.faces.ViewState隐藏字段的值也用作CSRF标记。

将为您提供一个良好的起点您忘了解释第一个隐藏输入字段的用法。@BalusC Balus,您对这个问题没有提供非常详细的答案吗?为什么它不见了?