X



FreeMarkerテンプレートエンジン【Velocityよりずっとまし】
00011
垢版 |
2005/07/05(火) 08:21:30ID:???
内容:
FreeMarkerは、Java用としては現時点で最強のテンプレートシステム。
Velocityなんか目じゃないぐらい、簡単、高機能、高性能(最大で約2倍速い)。
WebWork2もVelocityからFreeMarkerに乗り換えた。

本家
http://freemarker.sourceforge.net/
特徴
http://freemarker.sourceforge.net/features.html
Velocityとの比較
http://freemarker.sourceforge.net/fmVsVel.html
ベンチマークやら機能比較やら
http://doikun.cocolog-nifty.com/dowilog/cat1515211/index.html

駄スレだが許せ。
0003nobodyさん
垢版 |
2005/07/05(火) 15:37:11ID:???
Velocityとの比較を見てると、Velocityってそんなこともできなかったのねと思ったりするが、なぜこの板なのかという疑問は解消できない。
0004What is FreeMarker?
垢版 |
2005/07/08(金) 01:35:41ID:???
What is FreeMarker?

FreeMarkerって何よ?

FreeMarker is a "template engine"; a generic tool to generate text
output (anything from HTML to autogenerated source code) based on
templates. It's a Java package, a class library for Java programmers.
It's not an application for end-users in itself, but something that
programmers can embed into their products.

FreeMarkerとは、テンプレートに基づいてテキスト出力(HTMLからソースコード
まで何でも)を生成する汎用のツール、つまり「テンプレートエンジン」です。
FreeMarkerはJavaパッケージ(Javaプログラマーのためのクラスライブラリ)で
す。それ自体はエンドユーザのためのアプリケーションではなく、プログラマー
が製品に埋め込んで使用するものです。
0005nobodyさん
垢版 |
2005/07/08(金) 01:42:19ID:???
FreeMarker is designed to be practical for the generation of HTML Web
pages, particularly by servlet-based applications following the MVC
(Model View Controller) pattern. The idea behind using the MVC pattern
for dynamic Web pages is that you separate the designers (HTML authors)
from the programmers. Everybody works on what they are good at.
Designers can change the appearance of a page without programmers having
to change or recompile code, because the application logic (Java
programs) and page design (FreeMarker templates) are separated.
Templates do not become polluted with complex program fragments. This
separation is useful even for projects where the programmer and the HMTL
page author is the same person, since it helps keeping the application
clear and easily maintainable.

FreeMarkerは、特にMVC(モデル、ビュー、コントローラ)パターンにしたがっ
たServletベースのアプリケーションが、HTML Webページを生成するのに実用的
であるよう設計されています。動的なWebページにおいてMVCパターンを使う理由
は、デザイナー(HTMLを書く人)とプログラマーとを分けるためです。人にはそ
れぞれ得意なことがあり、それで仕事をします。〔訳注:FreeMarkerを使えば〕
アプリケーションロジック(Javaプログラム)とページデザイン(FreeMarkerテ
ンプレート)とが分離されるため、デザイナーはページの外見を変更するときに、
プログラマーに変更させたり再コンパイルさせたりする必要がありません。テン
プレートは複雑なプログラム片によって汚染されることがありません。このよう
な分離は、プログラマーとHTMLページ作成者とが同じ人間である場合でも有用で
す。なぜなら、分離によってアプリケーションをきれいに保ち、メンテナンスが
容易になるからです。
0006nobodyさん
垢版 |
2005/07/08(金) 01:50:35ID:???
Although FreeMarker has some programming capabilities, it is not a
full-blown programming language like PHP. Instead, Java programs prepare
the data to be displayed, and FreeMarker just generates textual pages
that display the prepared data using templates.

FreeMarkerはいくらかのプログラミング機能を持っていますが、PHPのような本
格的なプログラミング言語ではありません。表示すべきデータはJavaプログラム
で用意し、FreeMarkerはそのデータからテンプレートを用いてテキストベースの
ページを生成するだけです。

Overview of FreeMarker workflow

FreeMarkerによるワークフローの概観

〔訳注:ここで画像〕
ttp://freemarker.sourceforge.net/images/overview.png
0007nobodyさん
垢版 |
2005/07/08(金) 01:57:39ID:???
FreeMarker is not a Web application framework. It is suitable for a
component in a Web application framework, but the FreeMarker engine
itself knows nothing about HTTP or servlets. It simply generates text.
As such, it is perfectly usable in non-web application environments as
well. Note, however, that we provide out-of-the-box solutions for using
FreeMarker as the view component of Model 2 frameworks (e.g. Struts),
which also let you use JSP taglibs in the templates.

FreeMarkerはWebアプリケーションフレームワークではなく、Webアプリケーショ
ンフレームワークの1コンポーネントとして存在するのが適切です。しかし
FreeMarkerエンジン自体はHTTPやServletとは何の関係もありません。エンジン
は単にテキストを生成するだけですので、Webではないアプリケーション環境で
も同じように役に立ちます。またFreeMarkerは素の状態でも、テンプレート中に
JSPタグライブラリを使うようなModel2フレームワーク(例:Struts)のビュー
コンポーネントとして使用することができます。
0008nobodyさん
垢版 |
2005/07/08(金) 02:02:53ID:???
OSI Certified FreeMarker is Free, with BSD-style license. It is OSI
Certified Open Source Software. OSI Certified is a certification mark of
the Open Source Initiative.

OSIはFreeMarkerをBSDスタイルのライセンスとともにFreeだと認定しました。
FreeMarkerはOSI認定のオープンソースソフトウェアです。OSI認定はオープンソ
ースイニシアチブの認定マークです。

Read more feature highlights.

機能の詳細についてはこちらをご覧ください。

ttp://freemarker.sourceforge.net/features.html

-- 以上 --

もとねた: http://freemarker.sourceforge.net/

けっこう意訳(超訳?)だけど、おかしな点があったら指摘おねがい。
0009nobodyさん
垢版 |
2005/07/10(日) 02:10:56ID:???
ただでさえWebWork2の露出度が低いのにFreeMakerが流行るとは思えん。嫌いじゃないんだけどね。
プロジェクトに入れたくてもシラネとかいわれるしぐぐってもあまり日本語の情報がないので結局Struts + JSPあたりになっちゃうんだよなぁ。
0010FreeMarker vs. Velocity
垢版 |
2005/07/13(水) 01:39:12ID:???
FreeMarker vs. Velocity
ttp://freemarker.sourceforge.net/fmVsVel.html

Velocity is a simpler, more lightweight tool. Thus, it does not address
many tasks that FreeMarker does, and its template language is less
powerful in general, but it is simpler.

Velocityはシンプルでとても軽量なツールです。しかし、FreeMarkerが解決して
いる多くの課題を、Velocityは解決できていません。またVelocityのテンプレー
ト言語はシンプルですが、一般的にいってあまり強力ではありません。
0011FreeMarker vs. Velocity
垢版 |
2005/07/13(水) 01:41:40ID:8E2e9Zlo
However, we think that for most applications, working with FreeMarker is
simpler than working with Velocity, since with Velocity you have to find
custom tools and find various other workarounds to solve typical
template authoring tasks again and again, and you end up losing much
more time in the long run than you have won on the quick starting. Also,
the result of solving something with tools and workarounds is most
probably not as terse or efficient as the solution in the engine core.

しかしながら、ほとんどのアプリケーションにおいて、VelocityよりFreeMarker
を使うほうがより簡単だと我々は考えています。なぜなら、テンプレートを記述
するうえでの典型的な課題を解決するのに、Velocityでは専用のツールや他のワ
ークアラウンド〔訳注:うまい解決法ではないがとりあえず問題を解決してくれ
る方法のこと〕を探してくる必要があります。またほとんどの場合において、ツ
ールやワークアラウンドによる解決は、テンプレートエンジンによる解決ほどに
は簡単明瞭でもなければ効率的でもありません。
0012FreeMarker vs. Velocity
垢版 |
2005/07/13(水) 01:42:46ID:???
Furthermore, according to Velocity list archives, the workaround often
means extensive direct usage of Java object methods in the Velocity
template (this violates the idea of simple, non-programmer HTML-designer
friendly templates) or the movement of presentation tasks into the
controller code (this violates the MVC idea). And, after all, if you use
FreeMarker only for what Velocity can do out-of-the-box, it is as simple
as Velocity.

もっといえば、Velocityリストアーカイブ〔訳注:メーリングリストのアーカ
イブのこと?〕によれば、こういったワークアラウンドはたいてい、Velocity
テンプレートの中でJavaオブジェクトのメソッドを広範囲に直接利用することに
なります(このことは、シンプルで、かつプログラマーではないHTMLデザイナー
にもやさしいテンプレートという理念に反します)。結局のところ、Velocityが
素の状態でできることについてのみFreeMarkerを使うのであれば、FreeMarkerは
Velocityと同じぐらいシンプルです。
0013FreeMarker vs. Velocity
垢版 |
2005/07/13(水) 01:44:30ID:???
An advantage of Velocity over FreeMarker is that Velocity has wider
third party support and a much larger user community. However, you might
need less support for FreeMarker because instead of creating and
discussing workarounds you might often be able to simply use FreeMarker
standard features. And in case you have difficulties there are of course
active web forums and mailing lists. Moreover, since with FreeMarker you
can use Model-2 frameworks as Struts and any JSP tag libraries
out-of-the-box, perhaps third-party support is not a that big problem if
you are in the servlet segment. Also, more and more servlet frameworks
adapt FreeMarker as their view layer, next to JSP and Velocity.

VelocityがFreeMarkerに比べて勝っている点は、サードパーティが広くサポート
していることと、ユーザコミュニティが非常に大きいことです。しかしながら、
ワークアラウンドを作り出したり議論したりするかわりに、単にFreeMarkerの標
準機能を使うだけで済むことが多いので、FreeMarkerについてはサポートがあま
り必要ではありません。もちろん、それでも問題となることがあれば、活発な
Webフォーラムやメーリングリストがあります(ので質問できます)。もっとい
えばFreeMarkerは素の状態でも、StrutsのようなMVCモデル2に基づいたフレーム
ワークや、あるいはJSPタグライブラリを使うことができます。そのため、
Servletまわりでいえば、サードパーティによるサポートは大きな問題ではない
可能性もあります。また多くのサーブレットフレームワークが、JSPやVelocity
に続いてビュー層にFreeMarkerを採用しています。
0014FreeMarker vs. Velocity
垢版 |
2005/07/13(水) 01:45:29ID:???
There are other parameters that should be considered when you compare
tools, like code quality and documentation quality. But of course, we as
the authors of the product should not say anything about this. It is up
to the users to judge.

ツールを比較する際は、コードやドキュメントの品質など考慮すべき点が他にも存在します。
もちろん、我々はFreeMarkerの作者として、そういった点にも言及しなければなりません。
判断するのはユーザです。
0015FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:39:48ID:qC0D73t6
Feature comparison sheet

機能比較シート

Here's a quick, non-comprehensive listing of things you can do with
FreeMarker out of the box, and which you can not do with Velocity (or,
you can but only with nontrivial workarounds). This list is originally
based on a comparison with Velocity 1.2. Contact us for change
suggestions.

これは簡単に作成したものであり包括的なものではありませんが、FreeMarkerが
素の状態でできることと、Velocityではできないこと(またはVelocityでもでき
るんだけど自明でないワークアラウンドが必要となること)の比較リストです。
このリストはVelocity 1.2に基づいています。変更すべき点があれば我々に連絡
してください。
0016FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:40:24ID:???
[ Number and date support ]
* You can perform arithmetic calculations and comparisons on arbitrary
number types, including the arbitrary-precision types, not just integers.
* You can compare and display (format) date/time values.

[ 数値と日付のサポート ]
* 任意の数値型による算術計算と比較ができます。整数だけでなく、任意の精度の小数を扱うことができます。
* 日付や時刻を比較したり、書式を指定して表示することができます。
0017FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:40:55ID:???
[ Internationalization ]
* You can format numbers locale-sensitively, based on a variety of
built-in and custom number-formatting patterns.
* You can format dates locale- and timezone-sensitively, based on
variety of built-in and custom date-formatting patterns.
* Identifiers (variable names) can contain non-English letters like
accented letters, Arabic letters, Chinese letters, etc.

[ 国際化 ]
* 数値を、ロケールに従った書式に変換できます。
 書式のパターンは多くのものがあらかじめ組み込まれており、またカスタムで作成することもできます。
* 日付を、ロケールまたはタイムゾーンに従った書式に変換できます。
 書式のパターンは多くのものがあらかじめ組み込まれており、またカスタムで作成することもできます。
* 識別子(変数名)にアルファベット以外の文字を使うことができます。
 例えばアクセントつき文字、アラビア文字、漢字などが使用可能です。
0018FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:41:26ID:???
[ Loop handling ]
* You can break out of loops.
* You can access control variables of outer loops from bodies of inner loops.
* You can test whether you are in the last iteration of the loop.

[ ループハンドリング ]
* breakでループを抜けることができます。
* 内部のループから、外側のループ変数にアクセスしたり変更することができます。
* ループの最後であるかどうかを判定することができます。
0019FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:41:45ID:???
[ Array handling on the template language level ]
* You can access array elements, both primitive and non-primitive by index using the familiar [i] syntax.
* You can query the length of an array.

[ テンプレート言語レベルでの配列の扱い ]
* プリミティブか非プリミティブかに関わらず、使い慣れた「[i]」というシンタックスで配列の要素にアクセスできます。
* 配列の長さを調べることができます。
0020FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:42:22ID:???
[ Macros ]
* Macro invocations can pass parameters either by position or by name.
* Macro parameters can have default values which are effective when the parameter is omitted on invocation.
* Macro invocations can have a nested body (<@myMacro>body</@myMacro>) that can be called by the macro for processing.
* Macros are plain variables, so you can select the macro to execute based on an expression, or pass a macro to another macro as parameter.
* Invoke a macro that is defined later in the template.
* Local variables in macros, and recursive invocation of macros. In Velocity it is now possible with the currently (Feb. 2005) not officially documented #local function.

[ マクロ ]
* マクロの呼び出しで引数を渡すことができます。また引数は、位置による指定も、名前による指定もできます。
* マクロの引数はデフォルト値を指定できます。マクロ呼び出し時に引数が指定されない場合は、デフォルト値が使用されます。
* マクロの呼び出しでは本体をネストさせることが可能です(<@myMacro>本体</@myMacro>)。
 ネストした本体はマクロによって処理されます。
* マクロは通常の変数です〔訳注:マクロがfirst class objectであるということ。多分。〕。
 そのため、実行するマクロを式に基づいて切り替えたり、マクロを別のマクロに引数として渡すことができます。
* マクロをテンプレート中で定義するまえに呼び出すことができます。
* マクロ中でローカル変数が使用できます。またマクロを再帰的に呼び出すことができます。
 Velocityでも #local という機能でできるようになったようです(2005年2月現在)。ただし公式にはドキュメント化されていません。
0021FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:42:51ID:???
[ Name-spaces ]
* You can use multiple name-spaces for variables. This is invaluable when you build "macro libraries",
because you can prevent name collisions with application specific variables or with variables of other macro libraries.

[ 名前空間 ]
* 変数の名前空間を複数使用することができます。
 この機能により、アプリケーション固有の変数や他のマクロが使用する変数との名前の衝突を防ぐことができるため、
 "マクロライブラリ"を作るときはたいへん重宝します。
0022FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 02:43:14ID:???
[ Java-independent string, list, and map manipulations with built-in functions/operators ]
* You can turn a string upper-, lower-, or title-case, turn
upper-/lowercase only the first letter, convert (escape) the string to
HTML, XML, or RTF, extract substrings, split strings, query string
length, find/replace substring, ...etc.
* Access elements of lists by index, extract sublists, concatenate lists,
query size of a lists, sort lists.
* Access map elements by variable key, check if the map is empty, obtain
the key or value list.

[ Javaと独立した、文字列やリストやマップを操作するための組み込みの関数や演算子 ]
* 文字列を大文字/小文字にしたり、title-caseにしたり〔訳注:Camel Caseのこと?〕、
 最初の文字だけを大文字/小文字にしたり、HTMLやXMLやRTF用に特殊文字をエスケープしたり、
 部分文字列を取り出したり、分割したり、長さを調べたり、部分文字列を検索したり置き換えたり、
 ・・・などができます。
* リストの要素に添え字でアクセスしたり、部分リストを取り出したり、複数のリストを結合したり、
 長さを調べたり、ソートしたりできます。
* マップの要素にキーでアクセスしたり、空かどうか調べたり、キーや値をリストとして取り出したりできます。
0023FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 03:10:43ID:???
[ Expose typos and other mistakes in template ]
* When you try to access an undefined variable, FreeMarker will not accept that silently.
You can configure FreeMarker to stop template rendering with an error message, or skip the wrong part.
In either case, FreeMarker will log the problem, so it does not remain hidden.
* FreeMarker will throw an exception if you mistype a directive name, and will not print the statement
silently to the output (unless you use the now deprecated non-strict syntax).

[ テンプレート中のTypoや間違いを指摘 ]
* 未定義の変数にアクセスした場合、FreeMarkerは黙ったままそれを許すことはしません。
 FreeMarkerの設定を変更することで、間違いが合った場合はテンプレートのレンダリングを中止して
 エラーメッセージを表示させることも、また間違った箇所をスキップさせることもできます。
 どちらの場合でも、FreeMarkerは問題があればそれをログに残すので、エラーが隠されたままになることはありません。
* ディレクティブ名を間違えたとき、FreeMarkerは例外を発生します。そのため、黙って文を出力に表示することはありません
 (厳密ではない構文を使った場合はこの限りではありませんが、現在では廃止予定となっています)。
0024FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 03:11:15ID:???
[ Advanced rendering control ]
* You can enclose a block of template in a set of tags that will cause it to apply
HTML escaping or XML escaping (or any other transformation you can express as a
FreeMarker expression for that matter) on all interpolations (${foo}) in the block.
* FreeMarker has transforms, which are blocks of template that when rendered, go through a
transforming filter. Built-in transforms include whitespace compressor, HTML and XML escaper.
Best of all, you can implement your own transformers as well (i.e. if you generate
Java source code, you can write a Java code pretty-printer transform and insert it
into the template). Naturally, transforms can be nested.
* You can explicitly flush the output writer with a built-in flush-directive.
* You can stop the rendering with a built-in stop-directive.

[ 高度なレンダリングコントロール ]
* テンプレート中のあるブロックをタグで囲んで範囲指定し、その中に含まれるすべての
 Interporation(${foo})に対してHTMLエスケープやXMLエスケープ(あるいはFreeMarkerの
 式として表現できる、ほかのどんなTransformation)の対象とすることができます。
* FreeMarkerはTtransformという機能があります。これは、テンプレート中のブロックを
 レンダリングされるときに変換フィルターを通す機能です。
 組み込み済みのTransformとしては、連続するホワイトスペースを圧縮したり、
 HTMLやXMLの特殊文字をエスケープしたりするものがあります。
 また独自の変換を作成することもできます(例えばJavaのソースコードを生成したときに、
 そのコードをきれいにフォーマットして出力するようなTransformを作成することができます)。
 当然ですが、Transformはネストさせることができます。
* 組み込みのflushディレクティブを使って、出力用writerを明示的にフラッシュすることができます。
* 組み込みのstopディレクティブを使って、レンダリングを止めることができます。
0025FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 03:11:46ID:???
]
* Beside the usual string, number, and boolean literals you can define
list and map literals as well inside templates.
* There is a support for all Java string literal escapes: \b, \t, \n, \f, \r,
\", \', \\, also we support \xXXXX to specify characters with their UNICODE code.

[ リテラル ]
* 通常の文字列リテラルや数値リテラルや真偽値リテラルと同様に、リストやマップのリテラルを
 定義してテンプレート中に含めることができます。
* Javaの文字列で使用できるエスケープ文字はすべて使用可能です:\b、\t、\n、\f、\r、
 \"、\'、\\、およびユニコードの文字を表す\xXXXXが使えます。
0026FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 03:12:24ID:???
[ Advanced white-space removal ]
* FreeMarker consistently removes white-space (spaces, tabs and line-break)
from lines that contain non-outputting FreeMarker tags only,
thus eliminates most annoying, obviously superfluous white-space.
* There are directives to explicitly trim lines from needless white-space,
just for the extreme cases, when white-space is a real problem.

[ 高度なホワイトスペース除去機能 ]
* FreeMarkerは、出力用ではないFreeMarkerタグのみを含む行から、ホワイトスペース
 (空白、タブ、改行)を取り除きます。これにより、いつも悩みの種となる、
 明らかに余計であるようなホワイトスペースはなくなります。
* 極端なケースですが、ホワイトスペースが現実の問題となった場合には、
 不必要なホワイトスペースを行から明示的に削除するディレクティブを使うこともできます。
0027FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 03:13:27ID:???
[ Integration with other technologies ]
* You can use JSP custom tag libraries in templates.
* You can work directly on Python objects.

[ 他の技術との統合 ]
* JSPカスタムタグライブラリをテンプレート中で使用できます。
* Pythonオブジェクトを直接使用することもできます{{(まじで?)}}。
0028FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 03:16:13ID:???
[ Powerful XML transformation capabilities ]
* As of version 2.3, FreeMarker has powerful new XML transformation capabilities
that make it a viable replacement for XSLT.
Though there have been some attempts to make Velocity more capable in this domain (i.e. DVSL)
Velocity is not really competitive in this regard.
In our view, it never will be unless certain improvements to the core engine are made,
such as support for macro libraries mapped to namespaces, and local variables in macros.
* See here for a more detailed comparison of FreeMarker and XSLT.
http://freemarker.sourceforge.net/fmVsXSLT.html

[ 強力なXML Transformation機能 ]
* バージョン2.3から、FreeMarkerは強力なXML Transformation機能を新しく持つようになりました。
 これにより、FreeMarkerによってXSLTを置き換えることが可能となりました。
 今までにも、この用途のためにVelocityをより高機能にしようとする試みはありましたが(DVSLなど)、
 Velocityは現実的な競争相手とはなりませんでした。我々の見解では、Velocityのコアエンジンに対して何らかの改良、
 例えば名前空間にマッピングしたマクロライブラリのサポートやマクロ中のローカル変数のサポートなどがなされない限り、
 VelocityがFreeMacroの競争相手となることは決してないでしょう。
* FreeMarkerとXSLTのより詳細な比較はこちらをご覧ください。
 http://freemarker.sourceforge.net/fmVsXSLT.html
0029FreeMarker vs. Velocity
垢版 |
2005/07/14(木) 03:17:05ID:???
[ Advanced template metaprogramming: ]
* You can capture the output of an arbitrary part of the template into a context variable.
* You can interpret arbitrary context variable as if it were a template definition.
* You can imagine what can you do when you combine the two...

[ 高度なテンプレートメタプログラミング ]
* テンプレートにおける任意の箇所の出力を捕捉して、コンテキスト変数に格納することができます。
* コンテキスト変数を、まるでテンプレートの定義であるかのように実行することができます。
* この2つを組み合わせれば、ほんとうにいろんなことができるでしょう。
0031nobodyさん
垢版 |
2005/07/14(木) 06:16:23ID:wfSMZtFw
すごいぞたった火の10日でベロスレの半分まで到達だ
0032nobodyさん
垢版 |
2005/07/14(木) 07:11:00ID:???
読むやつがいるのかどうかという大問題があるのは、だまってたほうがいいのかな?
0033nobodyさん
垢版 |
2005/09/07(水) 13:07:33ID:???
・{}を省略させない
・未定義変数への対処
この二つは魅力を感じる。

マクロとか高機能化のトピックについては
テンプレートなんだからそもそもイラネと思うのが個人的な意見。
<#コマンド> な形式もタイプ量増やすだけで好きになれん。
0034nobodyさん
垢版 |
2005/10/08(土) 04:23:34ID:VIiL/ldq
というか、開発者の品性が非常に糞。

VelocityのユーザーMLを2年ぐらい前から荒らしている。
何度注意しても聞かない。

ということで、仮に優れていても絶対に使わない。
0035nobodyさん
垢版 |
2005/10/09(日) 19:37:12ID:???
スレタイも厨臭いな。類友?
0036nobodyさん
垢版 |
2005/10/09(日) 22:11:23ID:???
VelocityのReferenceInsertionEventHandlerみたいなのは無いのか喃
0037nobodyさん
垢版 |
2005/10/10(月) 03:46:09ID:Ry1GejgF
>>35
Jonathan Revusky本人だったらテラワロス
0038nobodyさん
垢版 |
2005/10/10(月) 04:46:16ID:???
ホンニンデスガ、ナニカ?
0039nobodyさん
垢版 |
2005/10/10(月) 08:19:09ID:WP5DX+4F
>>38
ちょっとあなたは嘘はつくのはやめてください
Jonathanに訴えられますかもしれませんよ
それではいいですか?
0040nobodyさん
垢版 |
2005/10/10(月) 13:22:35ID:???
タマネギハタベレマセンガ、ナニカ?
0041nobodyさん
垢版 |
2006/03/04(土) 12:39:05ID:1IWI/HQO
また最近Jonathanが某MLに出没している。うざい。
0042nobodyさん
垢版 |
2006/03/11(土) 09:39:01ID:???
さらに仲間の開発者であるDaniel Dekanyも参戦。さらにうざい。
どうやらハンガリー人らしい。
0044nobodyさん
垢版 |
2006/05/10(水) 11:23:18ID:???
JSF登場でfreemarker意味なし??
0045nobodyさん
垢版 |
2006/05/11(木) 01:10:28ID:duV7et3V
>>44
JSFとfreemarkerはまったく違う技術だろ。混同しているおまえの脳みそに乾杯。
0046nobodyさん
垢版 |
2006/05/11(木) 15:06:14ID:???
いろいろあるテンプレートエンジンで高機能はfreemarker?
テンプレートエンジンをjspの代用として考えるのは時代遅れ?
それはelが登場したから?
0047nobodyさん
垢版 |
2006/05/11(木) 16:06:02ID:???
jspをfreemarkerに変更してくれるeclipseのプラグインはありますか?
0048nobodyさん
垢版 |
2006/05/19(金) 20:38:41ID:???
>>46
>いろいろあるテンプレートエンジンで高機能はfreemarker?

そう

>テンプレートエンジンをjspの代用として考えるのは時代遅れ?

そんなことはまったくない。というより、とても正しい考え方。

>それはelが登場したから?

ELのおかげでJSPをテンプレートエンジンとして使いやすくなったのはたしか。癖があるけどね。

でもなー、JSPは結局servletの一形態だから、servletコンテナがないと動かないので
Webアプリ以外では使えないし、
JSPは思ったより仕様が複雑なので、それよりはFreemarkerのほうが簡単だと思う。
JSPの利点は、標準化されていることと、広く普及していること。逆に言えばそれだけ。
0049nobodyさん
垢版 |
2006/05/20(土) 09:53:28ID:???
>>48
なるほど。ELはメソッド呼べないしね・・
0050nobodyさん
垢版 |
2006/06/27(火) 14:36:21ID:???
日本語の参考サイト少ないね・・・
0051nobodyさん
垢版 |
2006/07/11(火) 18:28:10ID:???
>>50

これのDeveloper'sGuideは比較的簡単な英語なのでどーにかなる。

英語が苦手なオレでもどーにかなったくらいだから大丈夫。
0052nobodyさん
垢版 |
2006/11/28(火) 13:31:58ID:???
jspからfreemarkerに変更するツールはありますか?
タグリブ対応の。
0053nobodyさん
垢版 |
2006/11/29(水) 01:19:41ID:K2b5oyTL
サンプルがwebappばっかなんだけど、スタンドアロンで使うことは意識してないの?
0054nobodyさん
垢版 |
2006/11/29(水) 01:29:49ID:7/LurL62
テンプレートエンジンなんてサーバーに負担かかるだけだし
それほど生産性が高いとも思えない
0055nobodyさん
垢版 |
2006/11/29(水) 01:44:55ID:???
生産性と負荷関係ないし、比較見るとJSPより軽いけどね
0056nobodyさん
垢版 |
2006/11/29(水) 10:05:29ID:???
>>54
jspはコンパイルしてクラスをメモリにロードするので、
jspが多くなってくるとメモリの使用量がかなりパフォーマンスを圧迫します。

ちょっとぐらいでは全然気にしていなかったけど、100以上のjspの場合、結構違ってきますよ。
0057nobodyさん
垢版 |
2006/11/29(水) 18:38:38ID:7/LurL62
テンプレートエンジンくらい自分で作れよバカ
0058nobodyさん
垢版 |
2006/11/30(木) 01:16:49ID:???
自分で作るのダルイじゃない
車輪は買ってくるほうがいい
0059nobodyさん
垢版 |
2006/12/01(金) 02:08:52ID:ZG8rf5XR
>>58
テンプレートエンジン作るより車輪作る方がむずかしいよバカ野郎
0060nobodyさん
垢版 |
2006/12/02(土) 06:47:48ID:???
>>57
そういうおまえはテンプレートエンジンつくったんだろうな。
もちろんVelocityよりもましなものを。
0062nobodyさん
垢版 |
2006/12/09(土) 23:16:09ID:???
別にダメじゃない。てかスレタイに「ずっとまし」とかあるが
テンプレート以上の使い方は必要ないから資料のあるほうがずっとまし
0063nobodyさん
垢版 |
2006/12/12(火) 18:32:21ID:???
ループで定義した一時変数をページスコープにセットする方法はありますか?
ループで定義した値をタグリブに渡したくて。
0064nobodyさん
垢版 |
2006/12/13(水) 03:35:27ID:Nz5vxopy
>>53
> サンプルがwebappばっかなんだけど、スタンドアロンで使うことは意識してないの?
んなことはない。いちばん使われるのがWebアプリだからサンプルもそうなっているだけ。
Webアプリ以外でも使えるように、HTML以外のテキストファイルも生成できるような仕様だし。

>>61
ないのは日本語の資料だけ。英語ならちゃんとしてるよ。
ちなみにVelocityがいけてないせいで、HibernateToolはfreemarkerに乗り換えた。
0065nobodyさん
垢版 |
2006/12/14(木) 11:43:27ID:???
velocityからfreemarkerに変更するツールはありますか?
0067nobodyさん
垢版 |
2006/12/15(金) 11:40:03ID:???
>>64
たぶんないので、PerlなりRubyなりでスクリプト書くしかないと思う。
完ぺきな移行スクリプトは難しいと思うので、移行支援スクリプトぐらいのきもちで妥協しよう。
0069nobodyさん
垢版 |
2006/12/17(日) 22:07:41ID:???
なんかXSLTでいいやって思うようになってきた。
日本語の資料も豊富だし、WebでもXML+XSLTでブラウザにレンダリングさせてるし。
0070nobodyさん
垢版 |
2006/12/19(火) 01:00:57ID:???
いやいや、XSLTは遅すぎるし、そもそも用途がちがうやん。
テンプレートエンジンとして使えなくもないけど、その用途なら素直にテンプレートエンジンつかったほうがわかりやすいだろ。
XSLT複雑過ぎ。
0072nobodyさん
垢版 |
2006/12/31(日) 07:33:20ID:???
>>70
そういえば、Javaでは見たことないな。
XMLC
Tapestry
Mayaa
Wicket
どれもid属性またはそれに似たものを使うタイプだな。
ただ、HTMLデザインを崩したくないというだけならこれらでもいいと思う。
0073nobodyさん
垢版 |
2007/03/26(月) 16:11:22ID:???
XSLTは存在意義を見直した方が良い。
0074nobodyさん
垢版 |
2007/05/07(月) 02:35:22ID:???
ここのリードプログラマーは荒らし。
0075nobodyさん
垢版 |
2007/05/09(水) 00:15:28ID:???
ここのリードプログラマーの荒らしがここ数日続いています。

いくら自分のソフトが人気ないからって、競合ソフトのMLを荒らすなよ・・・。
0077nobodyさん
垢版 |
2007/07/15(日) 02:17:16ID:???
今更だが・・・

VelocityユーザーのMLで何か質問があったら、いきなりしゃしゃり出て、
FreeMarkerの宣伝をしやがる。

明らかに嫌がらせだろ。
0078nobodyさん
垢版 |
2007/07/17(火) 15:09:24ID:???
Jonathanとかいう人?
明らかにフレーマーだな。

FreeMarker has the feature you want.
「あなたの欲しい機能はFreemarkerにあります」
....
Jonathan Revusky
--
lead developer, FreeMarker project

吹いたw

でも、velocityとfreemarkerはお互いにライバルであって欲しい
velocity(VTL)がいつの日かマルチバイト文字を受け入れてくれる日も来るだろう・・・
0079nobodyさん
垢版 |
2007/07/19(木) 00:04:38ID:???
>>78
一発ネタなら許すが、頻繁なので許せん。

というか、さっさと死ねばいいのにと心から思う。
0080nobodyさん
垢版 |
2007/10/17(水) 19:54:13ID:???
>>79
超遅レスだが、自分はどんどんやってほしいけどなあ。
根拠のない悪口を言うのは馬鹿だが、これは正当な批判だと思うし。

Velocityのような、意図的に貧弱にしたテンプレート言語には、さまざまな不
自由があるのが当然で、その現状できないことを明言する姿勢は正しいと思う。
それに対して、
・いくらなんでもこれじゃ不便すぎる。もっとリッチな言語に移行しよう。
・これぐらいの不便さなら、ビューにロジックを埋め込まれる不都合と比べた
 ら十分に受忍限度内。
どちらの態度を取るかは、ユーザの自由なんだし。
0081nobodyさん
垢版 |
2007/10/21(日) 02:12:13ID:???
>>80
Velocityが専用言語を使っているのは、単にJavaが不便だからじゃないかなあ。
Javaが書きやすければ、eRubyのようにテキストファイルにJavaを埋め込めるようにするだけで、十分使い物になる。
0082nobodyさん
垢版 |
2007/10/22(月) 11:05:28ID:???
テンプレート完全否定だな
0083nobodyさん
垢版 |
2007/10/22(月) 23:07:09ID:???
>>81
それは違うと思うよ。

FreeMarkerスレでVelocityの話ばかりするのもあれだけど、Velocityは例えば、
文字列の結合すら出来ない。つながった文字列を表示したければ、テンプレー
トに変数を並べればいい、という設計思想。あくまで「ビューに必要な最小限」
のロジックだけが許されている。

もちろん、あなたの言うとおり、Javaより簡潔な言語という目的もあるけれど。

私はeRubyでRailsの仕事をしたこともあるから、こういう簡潔な言語ならテン
プレート専用言語要らなくね?という気持ちはわかるけどね。

だけど、2000年頃は、JSPの中にJavaコードを書きまくった、HTMLよりJavaが何
倍も多いものが蔓延していた。Velocityならプロジェクト管理者がこういうの
を強制的に排除できる。eRubyだと出来ない。
0084nobodyさん
垢版 |
2007/10/23(火) 10:55:33ID:???
>>83
テンプレートの効能知ってる人には当たり前の話だし、
分からない人には何を言っても無駄だから、
長文書いても意味ないと思うんだ。
0085nobodyさん
垢版 |
2007/10/23(火) 13:18:34ID:???
>>84
無駄とは限らないでしょ。誰だって最初は、何も知らないんだから。
皆いろんなことをきっかけに、少しずつ学んでいくものだと思う。
0086nobodyさん
垢版 |
2007/10/30(火) 04:04:55ID:???
>>83
Velocity 1.5から文字列連結できるようになったんじゃなかったっけ?

そんな些細なことはおいといて、JavaではVelocityつかったりFreeMarkerつかったり、はてはJSPでもELが導入されたりしてるのを見ると、やっぱなんかへんじゃね?とおもってしまう。
Javaが十分書きやすかったら、Javaと同じ書き方でよかったはずだよね。
VelocityやFreeMarkerがあえて機能を制限しているのはかまわないけど、それと書き方とは別の問題でしょ?機能を制限する・しないということと、書き方をどうするかというのは本来別の話。
機能を制限しても、Javaと同じ書き方にすることはできる。Velocityはまだ埋め込み言語だからそれ用の書き方が必要なのはわかるけど、ELなんかは本来、独自の言語仕様を持つ必要なんかなかった。でもJavaが書きにくいから用意されたとしか思えん。

0087nobodyさん
垢版 |
2007/10/30(火) 04:09:55ID:???
>>83
>だけど、2000年頃は、JSPの中にJavaコードを書きまくった、HTMLよりJavaが何
>倍も多いものが蔓延していた。Velocityならプロジェクト管理者がこういうの
>を強制的に排除できる。eRubyだと出来ない。

VelocityでもJSPでも、マクロとかプラグインを使えば何だってかけるじゃん。
JSPのJSTLなんか、標準でSQL叩けるんだぞ。全然制限になってない。
0088nobodyさん
垢版 |
2007/10/30(火) 07:05:54ID:???
そもそもJSPは出発時点からして失敗してる。
だからJSTLやELとかでお茶を濁そうとしてるが
本質的な設計が失敗だったので
何をやっても汚くなっていくだけ。

JSTLとかあほすぎるし。
条件分岐1つ書くのにどれだけコード書けってんだよ。
0090nobodyさん
垢版 |
2008/03/10(月) 04:18:05ID:???
またJonathan RevuskyとDaniel Dekanyが荒らしをしてる。

死ねよ、てめえら。
0091nobodyさん
垢版 |
2008/03/10(月) 16:56:46ID:???
ひどいな・・・・激しいタイトルのメールがスパムフィルタを抜けて届いたから
ビクっとしたらMLのメールだった・・・・

相手を嘘つき扱いで、個人攻撃ですか・・・
0092nobodyさん
垢版 |
2008/03/11(火) 15:43:06ID:???
まあ、このソフトの開発者はそろいもそろって荒らしだもんな・・。
0093nobodyさん
垢版 |
2008/06/06(金) 23:50:27ID:astBuURj
現在のバージョンは、
・セールスレターテンプレート集(68通)
・売れるセールスレターの書き方
・ダイレクトメールワークシート
・穴埋め式Eメールテンプレート(14通)
・究極のセールスレターツールBOX
など、合計で500ページ近いパッケージとCDROMが
セットになっています。


ただ、この無料お試しはだいぶコストがかかるらしいので
500個の限定だそうです。



興味があればこちらをクリックしてください。
http://www.123marketing.jp/yanik/indextrial.php?jvcd=16797

0094nobodyさん
垢版 |
2010/04/20(火) 20:18:10ID:cFW60NlN
マΦコ広げて「初めて貰っちゃうよ♪」とかお姉さん積極的すぎww
入った瞬間イっちゃったけど、そのまま2回戦突入しっちゃたお(^ω^)
http://kwskkkst.net/jp/adbta6z
0095nobodyさん
垢版 |
2010/10/04(月) 13:46:49ID:IyPJtywE
歴史を感じるスレだな。Faceletsに辿り着いたEEはこいつらがあったからこそだ。
0096nobodyさん
垢版 |
2011/05/08(日) 20:17:45.59ID:d9l7m4mU
ほしゅ&あげ
0098nobodyさん
垢版 |
2017/12/30(土) 13:38:55.55ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

ATZ5NYX9NZ
0099nobodyさん
垢版 |
2021/06/07(月) 11:12:30.69ID:FiFR8+0L
未だにfreemarker使ってるよ。
tymeleafとかのほうがいいのかな?
0100nobodyさん
垢版 |
2023/08/23(水) 19:28:49.92ID:???
未来の君が今の君に感謝する日がくるよ。
レスを投稿する


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