3

私はscala、spring、sitemesh、jspx/jstlで書かれたWebプロジェクトを持っています。問題はjspxにあります。タイプをJavaコレクションタイプにしたいという問題が発生し続けているため、scala/javaコレクション間で変換を続ける必要があります。そして時々忘れてしまい、視界が爆破するなど。

jsp / jstl / jspxからスケーラリングに移行する方法/何が関係しているのかを説明するブログ投稿がどこかにあるのだろうか?そうでなければ、切り替えるのは少し圧倒されるように見えるので、今は迷惑だと思いますが、jspxはそうだと思います。

4

1 に答える 1

8

わかりましたので、思い切って、この全体がどのように機能するかを確認しようとしました。それはかなり簡単であることがわかりました。興味のある人のための手順は次のとおりです。

Maven pom の依存関係:

    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>${scala.version}</version>
    </dependency>

    <!-- scalate templating engine -->
    <dependency>
        <groupId>org.fusesource.scalate</groupId>
        <artifactId>scalate-spring-mvc</artifactId>
        <version>${scalate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.fusesource.scalate</groupId>
        <artifactId>scalate-wikitext</artifactId>
        <version>${scalate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.fusesource.scalate</groupId>
        <artifactId>scalate-page</artifactId>
        <version>${scalate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.fusesource.scalamd</groupId>
        <artifactId>scalamd</artifactId>
        <version>${scalamd.version}</version>
    </dependency>
    <dependency>
        <groupId>org.fusesource.scalate</groupId>
        <artifactId>scalate-test</artifactId>
        <version>${scalate.version}</version>
        <scope>test</scope>
    </dependency>

mvc-servlet.xml:

<bean id="viewNameTranslator" class="org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator"/>
<bean id="scalateViewResolver" class="org.fusesource.scalate.spring.view.ScalateViewResolver"
    p:order="1" p:prefix="/WEB-INF/view/" p:suffix=".scaml" />

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
     p:order="2" p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/view/" p:suffix=".jspx" />

次に、いくつかの jspx の名前を変更し、コードの翻訳を開始しました。モデル オブジェクトにアクセスするには、scaml ファイルの先頭で次のようにします。

-@ var x:String
-@ var y:List[com.xxx.model.MyModelObject]

次に、詐欺のドキュメントに従いました。超簡単。厄介だったのは、インライン JavaScript を入れようとしたことだけでした... インデントか何かについて不平を言いました。そのため、別のファイルに移動しました。

サイトメッシュをまったく削除する必要はありませんでした (ただし、将来、準備ができたらいつでも削除できます)。jspx ファイルを自由に移行できます。これ以上簡単なことはありません。

于 2011-05-06T21:48:14.063 に答える