2013-06-08 2 views
1

Так что это мое мнение:Почему 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="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 скрытые поля ввода? И что это за ценность?

С уважением.

+1

http://stackoverflow.com/questions/2910741/what-is-viewstate-in-jsf-and-how-is-it-used предоставит вам хорошую начальную точку –

ответ

0

Эти два скрытых поля добавляются рендерером формы h:. Они отправляются с каждым запросом JSF и используются JSF для восстановления своего представления при выполнении обратной передачи (form submit). Значение скрытого поля javax.faces.ViewState также используется как токен CSRF.

+3

Вы забыли объяснить использование первое скрытое поле ввода. – BalusC

+0

@BalusC Balus, разве вы не очень подробный ответ на этот вопрос? Почему он ушел? –

Смежные вопросы