Core JavaServer Faces 3eを掘り下げた後、次のように述べています。
h:inputHidden タグには、標準の HTML および DHTML タグをサポートしないことを除いて、他の input タグと同じ属性があります。
したがって、readonlyドキュメントに記載inputHiddenされていない理由と、HTML でレンダリングされていない理由inputHiddenは、それをサポートしていないためです。これは、 '(エラーメッセージのある赤い波線)にreadonly属性として追加しようとしたときに、Netbeans によっても確認されました。に配置された Bean プロパティに対して定義されてinputHiddenいないフォームを送信したときに、その例外を取得できました。フォームが送信されたときに (私の場合) を呼び出し、コードで何も定義されていないため、もちろんその例外がスローされます。setterinputHiddeninputHiddensetter
javax.el.PropertyNotWritableException: /index.xhtml @14,56 value="#{bean.x}": The class 'Bean' does not have a writable property 'x'.
あなたがそれを行うときになぜそれが機能するのかについては、私にはわかりません。安全性が心配なので、BalusC が言うように、単純にそのプロパティを使用<input type="hidden">または定義することをお勧めsetterします。そのように使用しないでください。