1

inputHidden フィールドの値に基づいて、JavaScript 側で特定の機能を実行する必要があります。

<h:inputHidden id="onlyCaseSensitive" value="#{testBean.isPageAllowed()}"/> 

javascript が実行された後、アプリケーションはエラー Property not qritable Illegal Syntax for Set Operation をスローします

4

2 に答える 2

1

あなたの価値は、h:inputHiddeゲッターとセッターを備えたバッキングビーンの特性を指し示す必要があります。したがって、おそらくページを送信するときに、セッターフィールドへのアクセスに問題があります。

于 2013-01-16T20:18:03.270 に答える
1

アプリケーションがエラーをスローする Property not writable Set Operation の不正な構文

EL 式#{}が無効です。メソッド式としてではなく、値式として評価する必要があります。指定されたメソッド式でセッター メソッド呼び出しを実行することはできませんが、JSF フォームを送信するときに必要になります。isプレフィックスと括弧を削除して、有効な値式にする必要があります。

<h:inputHidden id="onlyCaseSensitive" value="#{testBean.pageAllowed}"/> 

これには、public boolean isPageAllowed()getter メソッドとpublic void setPageAllowed(boolean pageAllowed)setter メソッドが必要です。


実際にJSF マネージド Bean プロパティを JavaScript 変数として使用するだけでよい場合は、それを非表示の入力としてレンダリングするべきではありません。 HTML DOM トラバーサル。

例えば

<script>
    var onlyCaseSensitive = #{testBean.pageAllowed};
</script>

これは、次のような JSF 生成 HTML 出力になります (ページを右クリックし、[ソースを表示] を実行して表示します)。

<script>
    var onlyCaseSensitive = true;
</script>
于 2013-01-16T20:21:51.773 に答える