2

私は新しいtorquebox(JBOSS)アプリサーバーで遊んでいますが、これまでに見たものと同じように、rubyアプリはjavawebappsから分離されているようです。セッションを共有できると読んだのですが、それらが別々のWebアプリとしてサイロで実行され、それらをブレンドすることはあいまいであるようです...これはすばらしいことです。

Java EEサーブレットJSPスタイルで構築された従来のWebアプリがあり、使用されているJSPの代わりにプレゼンテーション層ロジックとしてrubyを使用できるようにしたいと考えています。

Webリクエストコンテキストからrubyリソースを実行できるはずです。apache mod_rubyがrhtmlを処理するために開始するのと同じように...(目標:tomcatまたはJBossにこれを実行させるためにトリニダードまたはトルクボックス)

たとえば、HelloWorld.jsp(Javaパッケージを呼び出すことができます...)をHelloWorld.rhtmlまたは.rbに置き換えることができますか?また、JRubyであるため、Javaクラスを呼び出すこともできます。

今のところ、RoRアプリを個別にsinatraで作成できますが、ルビーWebアプリのJavaではなく、JavaWebアプリのルビーが必要です。

私が求めていることがTorqueboxまたはTrinidadで現在可能かどうか誰かが知っていますか?

4

2 に答える 2

0

あなたはまだJSPで立ち往生するでしょう。

1つのオプションは、JRubyのjarファイルを再利用することですが、それで多くのことが追加されるとは思えません。

Java EEサーブレットJSPスタイルで構築された従来のWebアプリがあり、使用されているJSPの代わりにプレゼンテーション層ロジックとしてrubyを使用できるようにしたいと考えています。

動作しません。Rubyはプレゼンテーションには使用されません。Railsフレームワークerb.htmlでは、Rubyを実行できますが、これはページが読み込まれるときに1回発生します。残りは主にプレゼンテーション用のRailsHelpers/JQueryです。

だから、あなたがそれを機能させたと仮定しましょう。それらのルビー変数をどうするつもりですか?JSPでできることはあまりないので、行き止まりになると思います。

本当の問題は、Java \JavaScriptではできないRubyで何をしようとしているのかということです。

プレゼンテーションでは、JSPに適した方法でタグをコーディングするのに役立つことを調べることをお勧めします。IceFacesのようなもの。あなたが達成することを提案していることで、あなたは表現言語に制限されます。

于 2013-01-16T21:02:15.053 に答える
0

あなたは間違いなくそれを行うことができますが、物事を準備するためにあなたの側で少し運動する必要があります.

Java を使用する Ruby ではなく、Ruby を使用する Java Web アプリにしたいので、jruby-complete.jarを CLASSPATH に追加するだけです (stdlib を持つ宝石は必要ないと仮定します - ERB はそこにあります)。 . gem が必要な場合は、gem.jar を Warbler でパッケージ化できます。

Java側よりも、MCVに接続する統合レイヤーを作成する必要があります(Rubyの場合:))...たとえば、コントローラーで「レンダリング」する場合、Java 1オプションからいくつかのRubyコードを実行する必要がありますhttp://jruby.org/apidocs/org/jruby/embed/ScriptingContainer.htmlを使用しているか、(起動して) org.jruby.RubyAPI を直接使用できます。

erb出力を取得して、それをJava文字列/ ioに変換するよりも、最終的に応答本文になるはずです...もちろん、これは「概念的な」答えであり、解決すべきいくつかの(おそらく多くの)障害があります道路。

于 2013-01-17T08:41:26.780 に答える