1

だからこれは私の見解です:

<!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>

では、なぜ 2 つの非表示の入力フィールドが表示されるのでしょうか? そして、その価値は何ですか?

よろしく。

4

1 に答える 1

0

これらの 2 つの隠しフィールドは、h:form のレンダラーによって追加されます。これらは各 JSF リクエストで送信され、ポストバック (フォーム送信) が実行されたときにビューを復元するために JSF によって使用されます。javax.faces.ViewState 隠しフィールドの値も CSRF トークンとして使用されます。

于 2013-06-08T14:32:28.427 に答える