X



Velocity vs JSPでVelocityを称えるスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
04/11/11 10:16:00ID:hiuJkdtg
Velocityは、JSPのようにめんどくさいタグなどの記述が必要ない。
Velocityは、ブラウザやHTMLのツールで表示するのにレイアウトが
ほとんど崩れない。複雑な処理もVelocityToolsで対応できる。

このあたりを踏まえてJSPより、Velocityのほうが
使いやすいことを称えよう。
0002nobodyさん
垢版 |
04/11/11 10:19:11ID:???
JSPと組み合わせて使うものではないの?ベロ

2グッシ
0003nobodyさん
垢版 |
04/11/11 10:41:35ID:hiuJkdtg
単体でも十分よろしいかとおもわれる。
JSPで組み合わせるとは、個別にViewの機能を切り替える
ということだろうか。
0005nobodyさん
垢版 |
04/11/11 21:27:23ID:???
だれも、Velocityつかってるやつおらん?
0007nobodyさん
垢版 |
04/11/11 22:35:26ID:???
vs JSP なので、一応Web限定と言うことで。

ただ、Velocityは汎用的なテキストテンプレートエンジンなことは
言うまでも無い。
0008nobodyさん
垢版 |
04/11/11 22:45:24ID:???
言うまでもない、か。
何が「言うまでもない」だよ。
おまえな、ただ単に「言うまでもない」って言いたいだけちゃうんかと。
0009nobodyさん
垢版 |
04/11/11 22:51:43ID:???
JSPとの、比較をしたかっただけなので
他の部分は、考慮しないと言うことでお願いしたい。

>>8 すまん
0010nobodyさん
垢版 |
04/11/11 23:16:47ID:vaQLmH+t
>>9
潔いな。
「漢(をとこ)」を感じたぞ。
キュン♥
0011nobodyさん
垢版 |
04/11/11 23:38:04ID:???
あまり、JSPの不便さに憤慨している人おらんのかな?
タグだらけで、メンテナンスがひどくつらい。
0012nobodyさん
垢版 |
04/11/12 00:01:36ID:???
別に、<c:forEach>と書くか#foreachと書くかだけの違いだから。
ツールのサポートとかタグファイルとか考えるとJSPの方がいい。
ELにくらべてVTLが非常に高機能とも思わないし。
0013nobodyさん
垢版 |
04/11/12 00:15:09ID:???
Velocity の ブラウザでのレイアウト確認の優位性について

JSPのループ処理の場合、
<table>
<c:forEach 省略>
<tr>
<td>おらおら</td>
<td>ほげほげ</td>
</tr>
</c:forEach>
</table>

こういう表記が多いが

Velocityの場合、

<table>
<!-- #foreach(省略) -->
<tr>
<td>おらおら</td>
<td>ほげほげ</td>
</tr>
<!-- #end -->
</table>

VTLがHTMLに影響しないから、ブラウザで
レイアウト確認できて便利!

どうよ?いまいち優位性無い?

実際にJSPごりごり書いてる人どう?
0014nobodyさん
垢版 |
04/11/12 00:49:49ID:k91ZTVpR
JSPの最初にうだうだ宣言文を書くのもめんどくさい。
0015nobodyさん
垢版 |
04/11/12 01:07:46ID:???
>>13
<table>
<!-- <c:forEach 省略> -->
<tr>
<td>おらおら</td>
<td>ほげほげ</td>
</tr>
<!-- </c:forEach> -->
</table>

にすりゃいいんじゃね?
0016nobodyさん
垢版 |
04/11/12 01:16:08ID:k91ZTVpR
そりゃ、そうだな。
ループでは、JSP と Velocity 両方ともコメントアウトできるな。
こりゃ引き分けやな

値を指定する時はどうだ?

JSP
<bean:write bean="c" property="hoge"/>

Velocity
${c.hoge}

JSP ながくね?

あと、フォーム部分に値をいれるとき
struts のタグライブラリーなんか使うと
JSP
<html:text bean="hoge" property="hogehoge"/>

Velocity
<input type="text" name="hoge" value="${form.hogehoge}">

HTMLからコーディングを改変するのVelocityの方が楽やろ。
0017nobodyさん
垢版 |
04/11/12 01:28:56ID:???
値の指定

JSP
${c.hoge}

Velocity
${c.hoge}

かわらん。
0018nobodyさん
垢版 |
04/11/12 01:40:17ID:???
strutsのタグライブラリに関してはそのとおりだね。
素のHTMLとの相性に関してはJSPやっぱり不利なんだよ。
ただ、めんどくさいということに関しては、そんなに変わりはないと思われ。
標準であるというJSPのメリットと天秤にかけるものだと思う。
Nirvanaが一般的なタグで使えるようになるととってもいいんだけどねぇ。
0019nobodyさん
垢版 |
04/11/12 01:51:25ID:k91ZTVpR
JSP + EL + JSTL などのtaglib の組み合わせは、
初期設定やら、使えるタグの仕様やらややこしくてかなわねぇ。

Velocity + VelocityTools の組み合わせの方が
シンプルでないか。
0020nobodyさん
垢版 |
04/11/12 03:06:00ID:???
ELに関してはisELIgnoredとか書かない限り使えるし。
JSTLもstandard.jarとjstl.jarを/WEB-INF/libにほりこむだけ。
その2つのjarも、Tomcatなら/webapps/jsp-examples/WEB-INF/libあたりからもってくればいいからダウンロードの必要はない。
気が利いたIDEなら、JSTLを組み込むメニューがあるし、タグの補完もしてくれる。
JSTLタグの仕様も、c:ifとc:forEachくらい知ってればいいんじゃないかと。

Velocity+VelocityToolsの使い方の方が、資料探すことを考えるとややこしくないかい?
0021nobodyさん
垢版 |
04/11/12 03:21:35ID:???
それと、JSP+JSTLは標準でかなり普及している以上、知らないわけにはいかないと思う。
WebのViewとしてVelocityを使う場合には、JSP+JSTLは知っている上であえてVelocityの勉強もする、ということになるから、かなり目に見えるアドバンテージがないと大々的に採用するのは難しいと思われ。
全社的にVelocityを採用するとしても、JSPでかかれた資料も多いわけで。
0022nobodyさん
垢版 |
04/11/12 03:42:13ID:k91ZTVpR
標準かどうかの差で、資料や、ドキュメントの多さが違うので
JSP+その他諸々のToolにやや有利な点がおおい。

しかし、Velocity自体の仕様を考えた場合、そんな複雑資料無くても
Jakarutaのドキュメント読む程度で十分事足りる気がする。
30分もあれば十分。大量に乱立するタグライブラリーの仕様を見比べ
最適なライブラリを探し当てる手間と労力のほうが大変な気がする。

そもそも、インタプリター的な振る舞いを、タグで記述する処理系は
やや抵抗感がある。
まぁ、標準的な仕様と言うことでこれは身に付けなければ
しょうがない登竜門ということになりますかな。
0023nobodyさん
垢版 |
04/11/12 03:43:34ID:k91ZTVpR
しかし、Velocityを称えるスレなので、Velocityのいいとこ
上げてください。
0024nobodyさん
垢版 |
04/11/12 03:59:39ID:???
JSPのタグライブラリ、そんなに乱立してるかなぁ。
とりあえず条件分岐と繰り返しに関してはJSTLのcoreでいいわけだし、Strutsなどのそれぞれのライブラリで提供されているタグに関してはJSPタグでもVeloでも覚えないといけないことに大差ないね。
JSTLが出てくる前に作られたStrutsのbeanタグがちょっと混乱させているのかもしれないけど。
Strutsタグはhtmlタグとbean:messageしか使わない。

VelocityはWebのViewじゃないもののテンプレートに使えるので便利です。
0025nobodyさん
垢版 |
04/11/12 04:01:31ID:???
JSPのタグライブラリは、Sunの中の人がコールドフュージョンにメロメロだっただけだね。きっと。
実際問題としては、HTMLをパースする技術が成熟してなかったってとこかな。
Tape形式サイコー。Nirvanaマンセー。
0026nobodyさん
垢版 |
04/11/13 01:50:08ID:d555cr0m
JSTL後はどちらを使ってもそれほど大差はないね
0027nobodyさん
垢版 |
04/11/13 04:37:07ID:???
正確にいえば、JSP2.0からだね。
${a}を<c:out value="${a}"/>と書かないといけないなら、JSPめんどくさいねという意見に賛成するし。
0028nobodyさん
垢版 |
04/11/14 03:02:40ID:???
Velocity だと中にJavaコード埋め込めない?
だとすればものすごいアドバンテージだと思うが。

JSPの何が嫌かって、Javaコードが書けてしまう点。最悪だ。ありゃ。
0030nobodyさん
垢版 |
04/11/15 04:28:24ID:TbwuYOQc
Velocity Tools で、簡単にコードを埋め込めるね。最高
0031nobodyさん
垢版 |
04/11/15 05:17:17ID:???
>>28
ということで、Velocityも最悪だ。ありゃ。
0032nobodyさん
垢版 |
04/11/15 12:00:44ID:???
>29
自分では書かなくても書くやつが出る。

>31
どっちも最悪だな。。
0033nobodyさん
垢版 |
04/11/15 12:56:06ID:???
というか、JSPにどんなコード書くの?
なんかJSPにコード書く余地って残らないような気がするんだけど。
0034nobodyさん
垢版 |
04/11/16 10:12:17ID:???
なんかいろいろ書いてくれるよ。
ロジック層と分けてるはずなのに
思いっきりロジック書く。
0035nobodyさん
垢版 |
04/11/16 11:05:48ID:???
コード書く力がありあまった、元気なおこさまですこと。
0036nobodyさん
垢版 |
04/11/17 00:40:37ID:5pLFayah
スレの趣旨とは外れますが、他に該当スレがないようなので質問させて下さい。

Velocityでテンプレートファイルを読み込む際に、引数やユーザの入力などにより、
フルパスで指定されたテンプレートファイルを読み込む方法はあるのでしょうか?

開発者ガイドのリソースローダの設定を読むと、予め指定propertiesファイルで指定した
ディレクトリしか見てくれないようなのですが・・・。

参考サイトなどの情報でもいいので、どなたかご存知でしたら宜しくお願いします。
0037nobodyさん
垢版 |
04/11/19 21:29:20ID:KF3+s6WK
なぜ降るパスが必要なんだ?
0038nobodyさん
垢版 |
04/11/19 23:17:22ID:???
フルパスが必要な状況は、ふつうに考えられると思うが。
オレには今必要ないから、やりかたを調べる気はないが。
0039nobodyさん
垢版 |
04/11/21 23:04:54ID:???
>>37
テンプレートを引数で受け取ってマージするようなプログラムを作ろうとしているんです。
その際にテンプレートファイルのディレクトリを固定したくないので、できればフルパスで指定
できるようにしたいな、と思いまして・・・。

>>38
今はFileResourceLoaderを使ってなんとか出来ないかと考えています。
もう少し自分で調べてみます。
0040nobodyさん
垢版 |
04/11/22 03:36:51ID:heuQJjfm
nage
0041nobodyさん
垢版 |
04/11/22 23:34:12ID:K3BCy0O5
hage
0042nobodyさん
垢版 |
04/11/22 23:38:45ID:heuQJjfm
velocity.properties の設定でなんとかなるとおもう
0043nobodyさん
垢版 |
04/11/23 01:07:27ID:???
JSP2.0ってweblogicで使えないんじゃ?
いつ対応すんのかな。
004436
垢版 |
04/11/27 02:30:21ID:???
FileResourceLoaderでpathを/に設定し、引数で受け取ったフルパスの先頭の/を削除したものを
Velocity.getTemplate()に渡す事でどうやら希望通りの動作はイケそうです。

velocity.propertiesの設定は↓な感じです。

resource.loader=file
file.resource.loader.class=org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path = .,/

やはり公式のドキュメントはしっかり読まないと駄目ですね。
お騒がせしました。
0045nobodyさん
垢版 |
04/12/07 20:36:26ID:???
JSPって元々ASPをパクったものやん。
んで、ASPはASP.NETになって、コードを別ファイルへきれいに分離できるようになった。
JSFがはやるかどうかは知らんけど、JSPに先の展開がないのはほぼ間違いない。

Velocityは細かいことやろうとするとJSPと変わらんかもしれんが、
どっちかっつーと仕様の管理がしやすいと思う。
0046nobodyさん
垢版 |
04/12/07 21:21:28ID:lXvcK0Z7
Velocity+Strutsでなんもせんと
リクエストパラメータが文字化けする。
フィルターでエンコードせなやってられん
0047nobodyさん
垢版 |
04/12/07 21:54:33ID:???
それは、VelocityもStrutsも関係ない話だと思うが。
0048nobodyさん
垢版 |
04/12/22 13:36:36ID:oTjqXk6M
便利なVelociyToolを集めてるとこって、誰か知らない?
0049nobodyさん
垢版 |
05/02/02 14:09:55ID:eHqIqNCu
ERROR velocity - ResourceManager : unable to find resource 'VM_global_library.vm' in any resource loader.
って出るんですがどないすればよかとですか?
0050nobodyさん
垢版 |
05/02/22 17:58:08ID:q+URG0Gz
VM_global_library.vm ってファイルの位置がまちがっているか
指定されていないのでは、デフォルトは、WEB-INFの中におくんじゃなかったっけ?
0052nobodyさん
垢版 |
2005/03/23(水) 22:19:47ID:???
すみませんが,質問です.

Date 型のオブジェクト date を,
<bean:write name='date' format='yyyy年MM月dd日' />
と書くことは,Velocity ではどうやるのでしょうか?
テンプレートの側に format を埋め込みたいのです.
0053nobodyさん
垢版 |
2005/03/23(水) 22:20:10ID:BOwLGfAi
age
0055nobodyさん
垢版 |
2005/04/24(日) 07:42:56ID:E/mB2PpA
寂れとるのう、age
0056nobodyさん
垢版 |
2005/06/10(金) 03:05:26ID:???
vm ファイルの中で、大きなファイルを parse してその中のマクロを呼び出そうとすると、
時失敗してマクロが置換されずに #マクロ名 がそのまま出てしまうことがあります。
どう防いだらいいのでしょうか?

velocity.properties の cache ON, OFF は切り替えてみましたが、だめでした。
005756
垢版 |
2005/06/11(土) 02:26:01ID:???
うーむ、一ヶ月以上書き込みがなかったりするスレなのか。
0058nobodyさん
垢版 |
2005/06/11(土) 05:03:49ID:???
JSP2.0のおかげで、JSPの代わりにVelocity使うメリットは無くなったからね。
0059nobodyさん
垢版 |
2005/06/11(土) 09:49:05ID:???
一時期よく言われていたStruts+Velocityも、StrutsがJSFの方によっていっているからVelocityは意味をなさなくなったね。
でも個人的には、Web以外のところでVelocityはまだまだやれると思っている。
それがどこか知りたい。
0060nobodyさん
垢版 |
2005/06/11(土) 21:47:38ID:???
普通にテキストファイル出力するときはVelocityでしょ。
まだまだやれるとかではなく、棲み分けだよ。
006159
垢版 |
2005/06/12(日) 09:55:49ID:???
いや、だから、どういった目的とか機能とかでそのテキストファイル出力を使う(使える)のかという意味なんだけど。
0062nobodyさん
垢版 |
2005/07/03(日) 15:27:30ID:???
#macro( 〜

で定義するマクロで引数の数を可変にしたいのですが、
Java のオーバロードみたいなことは出来ないのでしょうか?
0063nobodyさん
垢版 |
2005/09/08(木) 01:15:25ID:???
>61
Java のオブジェクトにアクセスできて
かつ定型的に記述できるものと言えば、
ソースコードジェネレーションがベタな用途かと。
この用途なら多少遅くても誰も困らないし。
0064nobodyさん
垢版 |
2005/09/29(木) 11:31:11ID:???
velocityって、テンプレートファイルを読み込んでストリームに吐き出しますが、
テンプレートファイルをStringにしてわたし、ストリームでなくString結果を取得することはできますか?
0065nobodyさん
垢版 |
2005/09/29(木) 18:19:38ID:???
それはVelocityではなくJavaAPIの知識の問題だな
StringWriter
0066nobodyさん
垢版 |
2005/10/01(土) 02:48:44ID:???
こんなかんじ?

Template template = Velocity.getTemplate(filename);
StringWriter writer = new StringWriter();
template.merge(vContext, writer);
String str = writer.toString();
0067nobodyさん
垢版 |
2005/12/10(土) 00:44:29ID:???
JetspeedのViewの部分で、JSPかVelocityのどっちかを標準として使おうと思ってんだが、どっちがいいだろうか・・?
JSPは開発メンバー全員理解してる
Veloは俺はもちろん全員知らない
でもJetspeed的にはどちらなのか・・?
0068nobodyさん
垢版 |
2005/12/10(土) 01:36:01ID:???
むしろ、WebのテンプレートにVeloを使う意味がない。
0069nobodyさん
垢版 |
2005/12/10(土) 02:07:05ID:???
Jetspeed1はviewがほとんどVeloなんだよ。
だから67は心配してんだろ

JSTL遣えばよい
0070nobodyさん
垢版 |
2006/01/04(水) 21:02:16ID:t3zaJNir
Velocityのイベントハンドラ使って「デフォルトでエスケープされるように」してる俺は勝ち組
ttp://takagi-hiromitsu.jp/diary/20051227.html#p03
0071nobodyさん
垢版 |
2006/01/04(水) 22:13:21ID:???
>>70
デフォルトでエスケープされるようにしたときに、ある箇所でだけエスケープさせないようにするにはどうしてる?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況