Velocity vs JSPでVelocityを称えるスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/11 10:16:00ID:hiuJkdtgVelocityは、ブラウザやHTMLのツールで表示するのにレイアウトが
ほとんど崩れない。複雑な処理もVelocityToolsで対応できる。
このあたりを踏まえてJSPより、Velocityのほうが
使いやすいことを称えよう。
0002nobodyさん
04/11/11 10:19:11ID:???2グッシ
0003nobodyさん
04/11/11 10:41:35ID:hiuJkdtgJSPで組み合わせるとは、個別にViewの機能を切り替える
ということだろうか。
0004nobodyさん
04/11/11 17:12:41ID:???0005nobodyさん
04/11/11 21:27:23ID:???0006nobodyさん
04/11/11 22:12:19ID:???0007nobodyさん
04/11/11 22:35:26ID:???ただ、Velocityは汎用的なテキストテンプレートエンジンなことは
言うまでも無い。
0008nobodyさん
04/11/11 22:45:24ID:???何が「言うまでもない」だよ。
おまえな、ただ単に「言うまでもない」って言いたいだけちゃうんかと。
0010nobodyさん
04/11/11 23:16:47ID:vaQLmH+t潔いな。
「漢(をとこ)」を感じたぞ。
キュン♥
0011nobodyさん
04/11/11 23:38:04ID:???タグだらけで、メンテナンスがひどくつらい。
0012nobodyさん
04/11/12 00:01:36ID:???ツールのサポートとかタグファイルとか考えるとJSPの方がいい。
ELにくらべてVTLが非常に高機能とも思わないし。
0013nobodyさん
04/11/12 00:15:09ID:???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:k91ZTVpR0015nobodyさん
04/11/12 01:07:46ID:???<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:???素のHTMLとの相性に関してはJSPやっぱり不利なんだよ。
ただ、めんどくさいということに関しては、そんなに変わりはないと思われ。
標準であるというJSPのメリットと天秤にかけるものだと思う。
Nirvanaが一般的なタグで使えるようになるととってもいいんだけどねぇ。
0019nobodyさん
04/11/12 01:51:25ID:k91ZTVpR初期設定やら、使えるタグの仕様やらややこしくてかなわねぇ。
Velocity + VelocityTools の組み合わせの方が
シンプルでないか。
0020nobodyさん
04/11/12 03:06:00ID:???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:???WebのViewとしてVelocityを使う場合には、JSP+JSTLは知っている上であえてVelocityの勉強もする、ということになるから、かなり目に見えるアドバンテージがないと大々的に採用するのは難しいと思われ。
全社的にVelocityを採用するとしても、JSPでかかれた資料も多いわけで。
0022nobodyさん
04/11/12 03:42:13ID:k91ZTVpRJSP+その他諸々のToolにやや有利な点がおおい。
しかし、Velocity自体の仕様を考えた場合、そんな複雑資料無くても
Jakarutaのドキュメント読む程度で十分事足りる気がする。
30分もあれば十分。大量に乱立するタグライブラリーの仕様を見比べ
最適なライブラリを探し当てる手間と労力のほうが大変な気がする。
そもそも、インタプリター的な振る舞いを、タグで記述する処理系は
やや抵抗感がある。
まぁ、標準的な仕様と言うことでこれは身に付けなければ
しょうがない登竜門ということになりますかな。
0023nobodyさん
04/11/12 03:43:34ID:k91ZTVpR上げてください。
0024nobodyさん
04/11/12 03:59:39ID:???とりあえず条件分岐と繰り返しに関してはJSTLのcoreでいいわけだし、Strutsなどのそれぞれのライブラリで提供されているタグに関してはJSPタグでもVeloでも覚えないといけないことに大差ないね。
JSTLが出てくる前に作られたStrutsのbeanタグがちょっと混乱させているのかもしれないけど。
Strutsタグはhtmlタグとbean:messageしか使わない。
VelocityはWebのViewじゃないもののテンプレートに使えるので便利です。
0025nobodyさん
04/11/12 04:01:31ID:???実際問題としては、HTMLをパースする技術が成熟してなかったってとこかな。
Tape形式サイコー。Nirvanaマンセー。
0026nobodyさん
04/11/13 01:50:08ID:d555cr0m0027nobodyさん
04/11/13 04:37:07ID:???${a}を<c:out value="${a}"/>と書かないといけないなら、JSPめんどくさいねという意見に賛成するし。
0028nobodyさん
04/11/14 03:02:40ID:???だとすればものすごいアドバンテージだと思うが。
JSPの何が嫌かって、Javaコードが書けてしまう点。最悪だ。ありゃ。
0029nobodyさん
04/11/14 05:09:47ID:???0030nobodyさん
04/11/15 04:28:24ID:TbwuYOQc0032nobodyさん
04/11/15 12:00:44ID:???自分では書かなくても書くやつが出る。
>31
どっちも最悪だな。。
0033nobodyさん
04/11/15 12:56:06ID:???なんかJSPにコード書く余地って残らないような気がするんだけど。
0034nobodyさん
04/11/16 10:12:17ID:???ロジック層と分けてるはずなのに
思いっきりロジック書く。
0035nobodyさん
04/11/16 11:05:48ID:???0036nobodyさん
04/11/17 00:40:37ID:5pLFayahVelocityでテンプレートファイルを読み込む際に、引数やユーザの入力などにより、
フルパスで指定されたテンプレートファイルを読み込む方法はあるのでしょうか?
開発者ガイドのリソースローダの設定を読むと、予め指定propertiesファイルで指定した
ディレクトリしか見てくれないようなのですが・・・。
参考サイトなどの情報でもいいので、どなたかご存知でしたら宜しくお願いします。
0037nobodyさん
04/11/19 21:29:20ID:KF3+s6WK0038nobodyさん
04/11/19 23:17:22ID:???オレには今必要ないから、やりかたを調べる気はないが。
0039nobodyさん
04/11/21 23:04:54ID:???テンプレートを引数で受け取ってマージするようなプログラムを作ろうとしているんです。
その際にテンプレートファイルのディレクトリを固定したくないので、できればフルパスで指定
できるようにしたいな、と思いまして・・・。
>>38
今はFileResourceLoaderを使ってなんとか出来ないかと考えています。
もう少し自分で調べてみます。
0040nobodyさん
04/11/22 03:36:51ID:heuQJjfm0041nobodyさん
04/11/22 23:34:12ID:K3BCy0O50042nobodyさん
04/11/22 23:38:45ID:heuQJjfm0043nobodyさん
04/11/23 01:07:27ID:???いつ対応すんのかな。
004436
04/11/27 02:30:21ID:???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:???んで、ASPはASP.NETになって、コードを別ファイルへきれいに分離できるようになった。
JSFがはやるかどうかは知らんけど、JSPに先の展開がないのはほぼ間違いない。
Velocityは細かいことやろうとするとJSPと変わらんかもしれんが、
どっちかっつーと仕様の管理がしやすいと思う。
0046nobodyさん
04/12/07 21:21:28ID:lXvcK0Z7リクエストパラメータが文字化けする。
フィルターでエンコードせなやってられん
0047nobodyさん
04/12/07 21:54:33ID:???0048nobodyさん
04/12/22 13:36:36ID:oTjqXk6M0049nobodyさん
05/02/02 14:09:55ID:eHqIqNCuって出るんですがどないすればよかとですか?
0050nobodyさん
05/02/22 17:58:08ID:q+URG0Gz指定されていないのでは、デフォルトは、WEB-INFの中におくんじゃなかったっけ?
0051nobodyさん
05/02/25 12:33:50ID:???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:BOwLGfAi005452
2005/03/24(木) 19:57:15ID:???http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/generic/DateTool.html
特別の書式があるわけではなく,このクラスの format() メソッドを利用する
ようです.びっくりするぐらいシンプルでした.
0055nobodyさん
2005/04/24(日) 07:42:56ID:E/mB2PpA0056nobodyさん
2005/06/10(金) 03:05:26ID:???時失敗してマクロが置換されずに #マクロ名 がそのまま出てしまうことがあります。
どう防いだらいいのでしょうか?
velocity.properties の cache ON, OFF は切り替えてみましたが、だめでした。
005756
2005/06/11(土) 02:26:01ID:???0058nobodyさん
2005/06/11(土) 05:03:49ID:???0059nobodyさん
2005/06/11(土) 09:49:05ID:???でも個人的には、Web以外のところでVelocityはまだまだやれると思っている。
それがどこか知りたい。
0060nobodyさん
2005/06/11(土) 21:47:38ID:???まだまだやれるとかではなく、棲み分けだよ。
006159
2005/06/12(日) 09:55:49ID:???0062nobodyさん
2005/07/03(日) 15:27:30ID:???で定義するマクロで引数の数を可変にしたいのですが、
Java のオーバロードみたいなことは出来ないのでしょうか?
0063nobodyさん
2005/09/08(木) 01:15:25ID:???Java のオブジェクトにアクセスできて
かつ定型的に記述できるものと言えば、
ソースコードジェネレーションがベタな用途かと。
この用途なら多少遅くても誰も困らないし。
0064nobodyさん
2005/09/29(木) 11:31:11ID:???テンプレートファイルをStringにしてわたし、ストリームでなくString結果を取得することはできますか?
0065nobodyさん
2005/09/29(木) 18:19:38ID:???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:???JSPは開発メンバー全員理解してる
Veloは俺はもちろん全員知らない
でもJetspeed的にはどちらなのか・・?
0068nobodyさん
2005/12/10(土) 01:36:01ID:???0069nobodyさん
2005/12/10(土) 02:07:05ID:???だから67は心配してんだろ
JSTL遣えばよい
0070nobodyさん
2006/01/04(水) 21:02:16ID:t3zaJNirttp://takagi-hiromitsu.jp/diary/20051227.html#p03
0072nobodyさん
2006/01/05(木) 07:04:48ID:COW50sBS2.なんかてきとーなオブジェクトでラップされてたらエスケープしないと決めておく
0073nobodyさん
2006/01/18(水) 10:46:11ID:A/Abgen2at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:831)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:813)
at org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:285)
at org.apache.velocity.app.Velocity.getTemplate(Velocity.java:469)
上記のような例外が発生します。原因がわかる方いらっしゃいましたらご助力おねがいいたします。
ResourceManager?の生成に失敗してるのかもしれません。
velocity 1.4
0074nobodyさん
2006/01/19(木) 21:24:50ID:???キーワードとして「RuntimeInstance.java:831」でぐぐると、
http://forum.java.sun.com/thread.jspa?threadID=691936&messageID=4022256
というのがありました。
どうやらresource loaderの設定が必要なようです。
以下のサンプルで動くようになったと報告されています。
Properties p = new Properties();
p.setProperty( "resource.loader", "class" );
p.setProperty( "class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader" );
Velocity.init(p);
Template template = Velocity.getTemplate( "report_email_html.vm" );
余談ですが、「Velocity」「NullPointerException」などで検索すると膨大にヒットしてしまい、役に立ちません。
こんなときは、エラー行番号を含めて検索するとそのものズバリが見つかったりします。
0075nobodyさん
2006/02/07(火) 17:23:56ID:MCsbYtmmApache Maven2のpom.xmlで解決させているけど。
0076nobodyさん
2006/03/05(日) 21:20:27ID:2p98MNhpHTML出力されたソースを除いたとき、従来のHTMLのそれと同じ姿で出力されるVelocityは美しい
JSPだと<option>タグあたりは目も当てられない糞コードで、ああきもい・・・
よってVelocityが最強だと思います。
0077nobodyさん
2006/03/28(火) 14:14:50ID:D0Uv0jaZどうすればよい?
0078nobodyさん
2006/03/28(火) 14:19:45ID:D0Uv0jaZVelocity なら、
�@HTMLコーディングOK
�ASQL文ごりごり作成OK
�BメールテンプレートコーディングOK
テキスト処理が一括してできるのがよろしい。
0079nobodyさん
2006/05/11(木) 23:41:34ID:???なんか結構前にも同じ状況だった気がするけど。
死滅した?
0081nobodyさん
2006/05/18(木) 20:15:51ID:???いい機会だからfreemarker試してみるのも吉。
正直、Velocityよりよくできてるのは確かなんだけど、でもVelocityでもそんなに不満がないのも確か。
でもHibernateToolsはVelocityすててFreemarkerにしたね。
0082nobodyさん
2006/05/19(金) 07:10:05ID:???これだからOpenSourceは嫌だ。
008380
2006/05/19(金) 16:26:22ID:???レスありがと>>81-82
Velocityのダウンロードサイト復活したみたいです。
だが、この間に漏れはFreemarkerガイドを読んでしまったのだ。
FreemarkerでHelloWorldしてしまったのだ。
結局、Velocityはダウンロードしなかった。
さよならVelocity。
0084nobodyさん
2006/06/26(月) 22:33:35ID:???008579
2006/06/27(火) 00:32:57ID:???taglibで十分なことに気づいた。
さよならVelocity。
0086nobodyさん
2006/06/27(火) 08:57:57ID:???0087nobodyさん
2006/06/27(火) 09:24:53ID:???0088nobodyさん
2006/06/27(火) 11:57:59ID:???単体なら非常に使い道ある。
0089nobodyさん
2006/06/27(火) 12:00:34ID:???0090nobodyさん
2006/06/29(木) 10:04:40ID:???0091nobodyさん
2006/06/30(金) 20:07:25ID:NWeD8f+Y0092nobodyさん
2006/07/01(土) 01:20:31ID:???JSF >>>>> Velocity
マニアックなView作るときカスタムタグ作らなきゃだけど、
頭抱えるほど難しくはない。
Tomahawk楽しいよね。
ポップアップカレンダーがタグ一つでできるのは、やっぱ嬉しい。
それでユーザが許してくれるかは別問題だけど・・・
0093nobodyさん
2006/07/01(土) 16:37:33ID:???0095nobodyさん
2006/07/03(月) 20:23:07ID:???Struts と Velocity はレイヤがまったく異なるだろ。
0096nobodyさん
2006/07/06(木) 09:52:56ID:???>ちゃんとMVCでコード書けばjspもattributeの参照だけですませられるから
>taglibで十分なことに気づいた。
kwsk
>>86
>つうか、式言語使えばtaglibもイランだろ
kwsk
どうやったらこんなトンデモ論がでてくるのか不思議。
0097nobodyさん
2006/07/06(木) 09:56:51ID:???0098nobodyさん
2006/11/25(土) 22:49:25ID:???0099nobodyさん
2006/11/26(日) 10:51:54ID:Sc7QA46gクリックするとjava.net.BindException:address already use...という
メッセージが出て立ち上がりませぬ。
理由と対処法を知っている親切な方がいれば教えてください。
興味からApache/2.0.55と同時に立ち上げたのが不味かった様な気も
するのですが。
0100nobodyさん
2006/11/26(日) 11:45:14ID:???Apacheと同時じゃなくて、Tomcatが2重起動
あるいは別のTomcatがあればそっちが起動している可能性が高い。
「start tomcatアイコン」とあるから、Windows Installerで
インストールしたのだろう。Windowsサービスとして起動していないか?
0101nobodyさん
2006/11/26(日) 12:22:38ID:Sc7QA46gったので、おもいきり焦ったのですが再起動したら無事に動きました。
wwwサーバソフトを複数立ち上げるのは良くないのかも。
perlとphpを使っているのでやってみたのですが。
お騒がせしてすいませんでした。
■ このスレッドは過去ログ倉庫に格納されています