scala、spring 和 scalate

2024-04-28

我有一个用 scala、spring、sitemesh 和 jspx/jstl 编写的 Web 项目。问题出在 jspx 上。我一直遇到问题,它希望类型是 java 集合类型,所以我必须继续在 scala/java 集合之间进行转换。有时我会忘记,我的观点就会崩溃,等等。

我想知道是否有一篇博客文章描述了如何/涉及从 jsp/jstl/jspx 迁移到 scalate?因为否则的话,切换起来似乎有点难以承受,不管现在我认为 jspx 有多烦人。


好吧,所以我冒险尝试一下,只是想看看这整个事情是如何运作的。事实证明这相当容易。以下是任何感兴趣的人的步骤:

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]

然后我就按照 scaml 文档进行操作。超级简单。唯一尴尬的是尝试放入内联 javascript...它抱怨缩进或其他问题。所以我把它移到一个单独的文件中。

根本不必删除 sitemesh(但将来只要我准备好就可以删除),并且我可以在闲暇时迁移 jspx 文件。再简单不过了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

scala、spring 和 scalate 的相关文章

随机推荐

  • 检查 ARReferenceImage 是否在相机视图中不再可见

    我想检查一下是否AR参考图像 https developer apple com documentation arkit arreferenceimage在相机视图中不再可见 目前我可以检查图像的节点是否在相机的视图中 但是当AR参考图像
  • 将 NSSet 转换为 Swift 数组

    在 CoreData 中我定义了一个无序的一对多关系 这种关系在 Swift 中定义如下 NSManaged var types NSMutableSet 然而 为了最好地使用 Swift 我想使用一个普通的 Swift 数组 比如Type
  • Grails 中数据库迁移的良好工作流程是什么?

    我想使用数据库迁移 http grails org plugin database migration用于数据库迁移的 grails 插件 当我第一次启动 Grails 应用程序时 所有数据库表都会自动创建 我的 DataSource gr
  • Visual Studio 2015 折叠所有快捷方式

    I have gone thru http visualstudioshortcuts com 2015 http visualstudioshortcuts com 2015 this link and Keyboard shortcut
  • gcc何时编译未使用的模板代码?

    我有以下 诚然是人为的 代码 可以在 gcc 6 中编译得很好 但不能在 gcc 7 中编译 请注意 在定义中使用了未声明的构造函数bar 如果函数在代码中的其他地方被引用 取消注释 这应该打印一个错误foo bar 导致 gcc 6 打印
  • Cakephp 图像 - 无法确定 mimetype

    蛋糕PHP 2 3 我正在上传图像 但出现错误 Can not determine the mimetype Error An Internal Error Has Occurred 在我的模型上 这是我的 validation 的一部分
  • 使用 Silverlight 在运行时在 tabcontrol 中添加 TabItem

    嗨朋友们 我是 silverlight 应用程序的新手 我创建了带有 4 个 tabitem 的 tabcontrol tabitem 的名称类似于 tab1 tab2 tab3 tab4 我需要在运行项目中添加一个选项 通过以下代码添加成
  • 字符串文字的行为令人困惑

    下面的代码中字符串文字的行为非常令人困惑 我可以理解第 1 行 第 2 行和第 3 行是true 但为什么是第 4 行false 当我打印两者的哈希码时 它们是相同的 class Hello public static void main
  • 使用 JavaScript 访问 Jekyll 变量并通过 DOM 操作传递它

    我很可能有错误逻辑 但我刚刚学习 JavaScript 和 Jekyll 我的目标是通过 JavaScript 操作 HTML 元素 并将一些 Jekyll 变量放置在该元素的内部 HTML 中 一切都从本地开发目录加载jekyll ser
  • 如何使用 DLL 来模拟静态库的“应用程序内全局变量的多个实例”行为?

    我们有一个用 C C 编写的应用程序 它被分解为单个 EXE 和多个 DLL 这些 DLL 中的每一个都使用相同的静态库 utilities lib 实用程序静态库中的任何全局变量实际上在应用程序内运行时都会有多个实例 每个模块 即 DLL
  • STM32:从自定义引导加载程序跳转到应用程序时发生硬故障

    我正在开发带有自定义引导加载程序和应用程序的 STM32F401 MCU 编译器是GCC 5 2 1 没有运行优化 在以下跳转序列后的第一次中断后 我遇到了硬故障 引导加载程序 gt 应用程序 gt 引导加载程序 gt 应用程序 从引导加载
  • 数据编织转换

    我有 POST 方法的以下有效负载的输入 order Column X X Column Y Y Column Z Z Column W div 1 some text div 2 true div 3 2 mapper A
  • 配置 logback 以遵循 Java 配置,即 Logback 的纯 Java 配置

    我只是不喜欢 Logback 的 XML 或 Groovy 配置 更喜欢用 Java 进行配置 这也是因为我将在初始化后的不同时间在运行时更改配置 似乎对 Logback 进行 Java 配置的唯一方法是进行某种初始化劫持根追加器 http
  • Amazon ECS - 在 Docker 入口点上使用 IAM 角色时权限被拒绝

    我正在寻找一种将机密 证书注入 Amazon ECS 容器的方法 就我而言 它是一个简单的 nginx 容器 我一直在使用 AWS Parameter Store 关注这篇文章 https aws amazon com blogs comp
  • java中使用[:punct:]函数的正则表达式

    我在用 punct 替换 a 中特殊字符的函数 字符串例如 REPLACE REGEXP REPLACE 第 1 列 punct 作为输出 作为java中SQL字符串的一部分 但我想要特定的特殊字符 不被替换 你能建议最好的方法吗 Acc
  • Android Studio 1.0.1 APK META-INF/DEPENDENCIES 中复制的重复文件

    我安装了 Android Studio 版本 1 0 1 并尝试将我的项目从 eclipse 导入到它 它给了我以下错误 Error Execution failed for task app packageDebug Duplicate
  • Drupal 功能包括主题

    是否可以在 Drupal 功能中包含主题 如果是这样怎么办 不幸的是 目前还没有 功能基本上由可以通过各种事件挂钩干净地从 Drupal 导出或导入到 Drupal 的内容组成 主题是完全不同的动物 理论上 如果您想覆盖功能中的某些标记 例
  • 有没有办法覆盖 Google 路线服务缩放值?

    我使用下面的代码来获取两点之间的路线 directionsService route request function response status if status google maps DirectionsStatus OK di
  • MySQL“GROUP BY NULL”是做什么的?

    我正在维护一些遗留代码 其中有一个我不理解的 SQL 查询 我希望这里有人可以向我解释这样做的目的 查询如下所示 select from product performance where merchantid 2151277 and cl
  • scala、spring 和 scalate

    我有一个用 scala spring sitemesh 和 jspx jstl 编写的 Web 项目 问题出在 jspx 上 我一直遇到问题 它希望类型是 java 集合类型 所以我必须继续在 scala java 集合之间进行转换 有时我