問題タブ [el]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsp - JSP 式言語のエラー動作?
LinuxでTomcat 6.0.18を実行しています。
次のような Bean を使用する JSP があります。
helper
このページは、次のような式言語での属性を参照しています。
name の出現を見逃したいくつかのリファクタリング中に、名前が間違って記述されていてもエラーが発生helper
しないことに気付きました。画面にもログファイルにもありません。出力の式言語スニペットに対しては何も生成されません。helper
現在、次の JSP 構文を間違った名前で使用すると、エラーが発生します (カスタム エラー ページが表示され、ログ ファイルに例外が表示されます) helper
。
この場合、ログには次のエントリが記録されます。
完全をjsp:getProperty
期すために、Bean 名が正しい場合、構文は適切に機能します。
${foo.stuff} を書いてもエラーが表示されないのはなぜですか? そのような場合にエラー報告を制御する構成オプションはありますか?
java - ELは整数キーでマップ値にアクセスします
整数でキー設定されたマップがあります。ELを使用して、キーで値にアクセスするにはどうすればよいですか?
これは機能すると思いましたが、機能しません(マップがすでにリクエストの属性に含まれている場合):
フォローアップ:問題を追跡しました。どうやら${name[1]}
、番号をとしてマップルックアップを実行しLong
ます。HashMap
に変更しTreeMap
てエラーを受け取ったときに、これを理解しました。
マップを次のように変更した場合:
その後、${name[1]}
「One」を返します。それは何ですか?なぜ<c:out>
数字を長いものとして扱うのですか。私には直感に反しているようです(intはlongよりも一般的に使用されているため)。
だから私の新しい質問は、Integer
値によってマップにアクセスするためのEL表記法はありますか?
jsp - JSTLタグを使用してELで文字をエスケープする方法は?
次の JSP コード スニペットがあります。
サーバーは JSP をコンパイルできません。ただし、「Animal's Part」から文字「'」を削除すると、コンパイル可能になります。「\」文字を使用してエスケープしようとしましたが、それでもエラーが発生します。
任意の提案/ヘルプをいただければ幸いです。可能であれば、スクリプトレットの使用を避けようとしました。
ありがとう。
編集:この質問の解決策の1つとして投稿された(StackOverflowに投稿した後)、なんとか機能させることができました。その前に投稿された他のソリューション(VincentとEddieによる)を試しましたが、残念ながら、回答の環境では機能する可能性があると思いますが、私の環境では機能しません。ありがとう。
jsf - JSF、onclickでELを使用する方法
データベースの列を使用してリンクを作成したい。データベースに接続しているバッキングBeanがあります。接続に問題はなく、リンク名にも問題はありません。ブラウザにリンクが表示されます。onclick関数を使いたいのですが、そこから問題が始まります。onclickでELを使用するにはどうすればよいですか、または使用できますか?
ちょっとした例:
ありがとう。
java - JSTL タグ内で使用される EL 式の前の「#」文字の動作がおかしい
userId 変数を設定する次のコードがあります。
(前のコードで設定された userId)
次の文字列が生成されます: (Cust#${userId})
ただし、次のコードは期待どおりに機能します。
次の文字列 (Cust# 0001) が表示されます。
「${string}」式の前に「#」文字があると、文字列が評価されないのはなぜですか? スペースを挿入する必要がない回避策はありますか?
jsf - value属性とバッキングBeanを使用してInputTextタグファイルを作成するにはどうすればよいですか?
タグ(ソース)ファイルを作成して、ファセットでカスタムタグを取得したいと思います(ここで説明します)。私はそれをこのように使用したい:
最初のケースでは、Bean内の単純なStringプロパティにバインドできます。2番目のケースでは、myBeanは入力フィールドにバッキングBeanを提供する必要があります。そのバッキングBeanには、値だけでなく、maxlength、disabled、mandatoryなどのプロパティも含まれています。
タグファイルは次のようになります(簡略化):
この問題は、これは許可されていないということです。入力フィールドにテキストを入力すると、次のエラーが発生します。Set操作の構文が無効です。どちらが指定されているかに応じて、「value」または「inputText.value」をどのように使用できますか?
spring - クラスorg.springframework.web.jsf.el.SpringBeanFacesELResolverは、タイプjavax.el.ELResolverを拡張する必要があります
SpringをJSFアプリケーションに統合しようとしています。
にfaces-config.xml
、私はこれを含めました:
しかし、それは私が取り除くことができない奇妙な警告を示しています:
何か案は?
jsf - Beanアクションをプロパティとして扱うJSF+Facelets
みんな、どういうわけかELはプロパティからアクションを伝えていません。私はこのページtest.xhtmlを持っています:
TestBean.statusは文字列プロパティ(getStatusメソッドがあります)であり、TestBean.testは「成功」を返すメソッドです。
ページを呼び出すたびに、次の例外が発生します。
多分それはロングショットです、私は私の環境をよりよく説明することができます。しかし、一見したところ、何かヒントはありますか?
tks
java - 「${foo.bar}」と「#{foo.bar}」の違いは何ですか?
式言語(EL)を使用して、.jspファイル内のJavaBeansのオブジェクトを使用できます。したがって、${foo.bar}と入力して値を取得できます。ただし、#{foo.bar}を使用することもできます。
誰かが違いを説明したり、意味のある情報へのリンクを提供したりできますか?