- - PR -
Strutsにおける定数
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-10-30 15:43
Strutsで
・Constants 定数を定義したクラス ・Constants.CONST_VALUE がstatic final で定義した定数 として <logic:equal name="Form" property="value" scope="request" value="Constants.CONST_VALUE"> もしくは JSTLで <c:if test="${form.value = Constants.CONST_VALUE}> のようなことをやりたいのですができません。 皆さんは定数をどのように定義されてますか? よい方法があれば教えてください。 | ||||
|
投稿日時: 2003-10-30 16:25
定数の定義の問題ではないような気がしますが・・・
もしかして、 <logic:equal name="Form" property="value" scope="request" value="<%= Constants.CONST_VALUE %>"> で、解決しますか? | ||||
|
投稿日時: 2003-10-30 17:04
早速のご返答ありがとうございます。
<logic:equal name="Form" property="value" scope="request" value="<%= Constants.CONST_VALUE %>"> を試しましたがコンパイルできませんでした。 あと、非常に言葉足らずだったのですが ・なるべくスクリプトレット<% %>、式構文<%= %>は使わない。 ・JSTLの<c:if><c:choose>などでも定数を使用できる。 というのがありました。 はじめから書くべきでした。申し訳ありません。 タイトルを「Strutsにおける定数」としたのは 定数クラスを作って定数を使おうとした場合にこのような問題があったので もしかして定数クラスを作るのは間違っているのでは?と思いStrutsで定数を 定義するときのお作法が知りたかったからです。 | ||||
|
投稿日時: 2003-10-30 20:57
そしたら定数を格納したMapかBeanを作成してServletContextにつっこんでおくんですな。
. . public void getCONST_VALUE() { return Constants.CONST_VALUE; } こんな感じで。 | ||||
|
投稿日時: 2003-10-31 09:20
なるほど。
こうすれば普通にStrutsタグ、JSTLで定数の使用ができますね。 定数といえばpublic static finalしか頭になかったので思いつきませんでした。 この方法でいってみようと思います。 ありがとうございました。 | ||||
|
投稿日時: 2003-11-04 12:31
私もよく定数利用していましたが、
定数を利用することは、分業を目指し利用するstrutsの設計上あまりよろしく無いように思えます。 基本的に定数を使う場合は、カスタムタグを作成するか、もしくは定数はJSPのなかで直に書き込むべきだと思います | ||||
|
投稿日時: 2003-11-05 11:15
そうですか。Strutsでは定数はあまり使うべきではないのですね。
いままでColdFusionとかで作ってたときには定数をかなり使っていたので いざ定数を使わないように作ろうとすると難しいですね。 結構ハードコーディングの部分が出てきて(特に属性のキー)見慣れていないので これでいいのかな?なんて思ったりします。 じょじょに慣れていこうと思います。 | ||||
|
投稿日時: 2003-11-06 17:17
Taglib内にスクリプトを書くことは出来ませんよ。 やりたくなる気持ちは分かりますが、、、(私もやろうとしたことあります) | ||||
