首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scala、spring和scalate

scala、spring和scalate
EN

Stack Overflow用户
提问于 2011-05-06 23:11:46
回答 1查看 1.3K关注 0票数 3

我有一个用scala、spring、sitemesh和jspx/jstl编写的web项目。问题出在jspx上。我总是遇到这样的问题,它希望类型是java集合类型,所以我必须在scala/java集合之间不断转换。有时我忘记了,我的视线就会爆炸,等等。

我想知道是否有一篇博客文章描述了如何/涉及到从jsp/jstl/jspx迁移到scalate?因为在其他情况下,切换似乎有点压倒性,不管现在我认为jspx很烦人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-07 05:48:14

好的,所以我尝试了一下,试着看看整个事情是如何运作的。事实证明,这相当容易。对于任何感兴趣的人,这里有以下步骤:

Maven pom依赖关系:

代码语言:javascript
复制
    <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:

代码语言:javascript
复制
<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文件的顶部执行以下操作:

代码语言:javascript
复制
-@ var x:String
-@ var y:List[com.xxx.model.MyModelObject]

然后我就跟着scaml文档走了。超级简单。唯一令人尴尬的是试图放入内联javascript...it抱怨缩进之类的问题。所以我把它移到了一个单独的文件中。

根本不需要删除sitemesh (但我可以在将来准备好的时候删除),而且我可以在空闲时迁移jspx文件。再简单不过了。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5913373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档