hiddenが消える問題・続
JSFの本を読んでいたら、htmlの属性としてreadonly属性なるもの発見。
S2JSF Exampleの中で以下のように記述すると、inputタグを用いて編集不可の状態で値を表示できました。
<input type="text" readonly="true" m:value="#{employeeDto.empno}"/>
これだとinputのtype="text"を利用しているので、画面内にてバリデーションエラーが発生しても表示したい内容が消えません。
また、表示上入力フィールドになっているのが気になるようであれば、id:yone098さんが紹介しているborderを無くす方法を使えばラベルのように見えます。
<input type="text" readonly="true" m:value="#{employeeDto.empno}" style="border:0" />