- - PR -
式言語の使い方
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-08-05 13:11
環境
eclipse2.1.3 tomcat5.0.27 Lomboz plugin213 初歩的な質問で恐縮なんですが 式言語の記述の仕方がわからず困っています 参考書に書かれていたコードを参考に以下のJSPを作成し JSPにアクセスする際のクエリ情報を利用しているつもりです(~jsp?count=3) 実際にJSPにアクセスしてみると何も表示されません ソースを表示させてみると<body> 〜 </body>に何も記入されていない状態です <%@ page contentType="text/html;charset=Shift_JIS" %> <%@ taglib uri="http://jakarta.apache.org/taglibs/string-1.1" prefix="str" %> <html> <head> <title>タグの練習</title> </head> <body bgcolor="#FFFFFF"> <str:repeat count = "${param.count}"> じゃば<br /> </str:repeat> </body> </html> どうもこれ→「"${param.count}"」を入れると何も表示できなくなってしまいます 調べてみたんですがあまりこんなとこでつまってる人はいないようで 解決できません WEB-INF/lib にjar WEB-INF/tag にtldは入っています (stringのみ) 初書込みなんで書き込み方、質問の仕方が変だったらすみません よろしくお願いします | ||||
|
投稿日時: 2004-08-05 13:21
詳しくないので間違っているかもしれませんが、
paramは型がMapなので、要素取り出しの書式は${param["count"]}という形式では ないですか? | ||||
|
投稿日時: 2004-08-05 14:10
回答ありがとうございます
うーん、試してみたんですけど上手くいきません・・・ <str:repeat count="${param["count"]}">っていう形ですよね? ダブルコーテーションの前に無効にする記号いれたりするんでしょーか? paramが暗黙オブジェクトって書いてあるんでエディタで色が変わるはず なんですがそれもさっぱり変わらないです。 やはり私の式言語の記述の仕方がおかしいんだと解釈しているのですが・・ 何か分ればお願いします | ||||
|
投稿日時: 2004-08-05 14:20
あ・・・orz
<str:repeat count = "${param.count}"> タグに 属性名="値" を記述するときに、"="の前後にスペースがあるとまずいですよね… | ||||
|
投稿日時: 2004-08-05 14:47
たびたびスミマセン
やっぱりうまくいかないです ${param.count}って<body>部に記述に書いてみると そのまま出力に ${param.count} ってでてきました・・・ ${param.count} bodyタグに書くとエディタで色は変わり <%= %>の式と同じ風にはなってくれるのですが実際は何の変換も なされていません <str:repeat count = "${param.count}"> っていう部分には そのまま文字列が帰ってきちゃってるみたいです かなりわけがわかりません | ||||
|
投稿日時: 2004-08-06 10:14
エディタで色が変わる/変わらないは、LombozがJakartaTaglibに対応しているかどうか、
対応している場合にどのような設定が必要か、という話だと思います。実行を行うのは Tomcatですので、とりあえず気にしなくて良いと思いますよ。 私も素人ですので、よくわかりません。例えば、 ・count="5"などの値を直に埋め込んでみて、Taglibが動作しているかを確認する。 ・<%=request.getParameter("count")%>等のスクリプトレットを埋め込んでみて、 count=3のパラメータをJSPが受け取っていることを確認する。 等して、原因の範囲を特定してみてはいかがでしょうか。 | ||||
|
投稿日時: 2004-08-06 10:48
もう回答ないものと思い諦めていました
レスありがーございます >・count="5"などの値を直に埋め込んでみて、Taglibが動作しているかを確認する。 >・<%=request.getParameter("count")%>等のスクリプトレットを埋め込んでみて、 >count=3のパラメータをJSPが受け取っていることを確認する。 指摘してもらった書き方をするとすべてちゃんと動きます (繰り返し処理がなされます) 原因は ${} っていう式言語の部分にあると思います ちなみにこーいう書き方であっているんでしょーか? 例 表示結果に 6 を出したいJSPファイルのbody部分の記述 <body> ${"1+2+3"} </body> 上のJSPファイルにアクセスすると表示結果が ${"1+2+3"} ってなります。まったく式言語が機能してないのですが・・・ 書き方間違っているんでしょうか? | ||||
|
投稿日時: 2004-08-06 10:54
外しているかもしれませんが、web.xml内web-appタグでのxmlns属性は
Servlet2.4にセットされているでしょうか?
| ||||
