所以这是我的观点:
<!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个隐藏的输入字段?这个价值是多少?
问候。
答案 0 :(得分:0)
这两个隐藏字段由h:form的渲染器添加。它们随每个JSF请求一起发送,并且在执行回发(表单提交)时由JSF用于恢复其视图。 javax.faces.ViewState隐藏字段的值也用作CSRF令牌。