如何在 play (2.3) 框架内从 Java 控制器代码中的 String 变量构造 Html 对象

2024-03-13

I am just开始使用 play 框架,我试图了解 java 应用程序代码和基于 scala 的模板框架之间的交互(注意:到目前为止,我对 Scala 一无所知,除了它是另一种编译语言之外到 JVM 上的字节码,并且 Scala 和 Java 类可以交互)。

我有一个 test1.scala.html 模板,如下所示:

@(title: String)(content: Html)

<!DOCTYPE html>

<html>
    <head>
        <title>@title</title>
    </head>
    <body>
        @content
    </body> </html>

正如您从第一行看到的,模板需要一个 String 和一个 Html 参数,但我不知道如何从 Java 调用者代码构造 Html 参数!

我在我的控制器类中尝试了一些变化:

return ok(test1.render("My Title","It <em>finally</em> works!"));

显然,这失败了,因为第二个参数是字符串而不是 Html,所以我有一个参数不匹配。 (有一个运行时错误:actual argument String cannot be converted to Html by method invocation conversion——这是有道理的,但我希望这里能有一些魔法。 :))

所以我尝试从字符串创建一些 Html,认为这可能是包中某处的辅助类,并且这可能“正常工作”:

return ok(test1.render("My Title",new Html("It <em>finally</em> works!")));

这不会编译,因为 javac 找不到 Html 类。好,可以。扫描播放文档,似乎有一个 play.api.templates.Html 类(用 Scala 编写),其构造函数采用 String,因此我尝试了完整的包限定名称:

return ok(test1.render("My Title",new play.api.templates.Html("It <em>finally</em> works!")));

这也不会编译:我在包 play.api.templates 中找不到“Html”的符号。

那么:有什么神奇的方法可以让我将 String(包含 HTML 片段)转换为可以传递到模板中的 HTML 对象呢?


播放模板已被纳入Twirl https://github.com/playframework/twirl模块,如所述Play 2.3 迁移指南 http://www.playframework.com/documentation/2.3.x/Migration23.

play.api.templates.Html is now play.twirl.api.Html.

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

如何在 play (2.3) 框架内从 Java 控制器代码中的 String 变量构造 Html 对象 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • Qt BLE For Android:特性更新不会触发characteristicChanged信号

    这是我们拥有的设备传输自定义服务的自定义特征的定期更新的东西 该设备中的服务和特征是通过 XML 文件定义的 当然 这是指蓝牙BLE协议 我想做的是创建一个简单的 Qt Android 应用程序 连接到设备并监控更新 我已经发现了该服务并将
  • C++ Windows 线程池(非升压/c++11)

    有没有办法仅使用 C 或 Windows C 函数创建线程池 我无法访问 boost 或任何库 我可以访问代码项目 但找不到任何非 UNIX 的内容 并且我发现很难找到实现线程池的方法 我使用的是 VS2010 它还不支持 C 11 线程
  • Android JUnit 测试因 java.lang.VerifyError 失败

    Aloha 我一直遵循这里的指导方针 http developer android com resources tutorials testing helloandroid test html http developer android
  • 替换从 javascript 获取的字符

    我正在制作一个程序 从 flickr 集中提取所有图片 我在代码中发现每个图片链接都有一个大字符串 问题是这样的 链接具有以下格式 https c2 staticflickr com 4 3925 14562233192 3fe2b8fe1
  • 在具有多个参数的 pandas 数据帧上应用滚动函数

    我正在尝试在 pandas 数据帧上应用具有 3 年窗口的滚动函数 import pandas as pd Dummy data df pd DataFrame Product A A A A B B B B Year 2015 2016
  • NodeJs 程序完成后不退出

    抱歉这个菜鸟问题 我是 Javascript 初学者 我正在使用 NodeJs MySQL 包将我的节点应用程序连接到我的数据库 但是成功运行查询后 程序不会退出 它会永远留在那里 直到我手动终止它 我希望程序运行查询并退出程序 我正在使用
  • 在 READ COMMITTED 隔离级别中何时/什么锁被持有/释放

    我正在尝试了解 SQL Server 中的隔离 锁 我在 READ COMMITTED 隔离级别 默认 中有以下场景 我们有一张桌子 create table Transactions Tid int amt int with some r
  • 如何连接 AWS DynamoDB 中的表?

    我知道整个设计应该基于自然聚合 文档 但是 我正在考虑实现一个单独的本地化表 语言 键 文本 然后使用其他表中的键 但是 我找不到任何这样做的例子 您是对的 DynamoDB 并非设计为关系数据库 并且不支持联接操作 您可以将 Dynamo
  • 使用 python/pandas 的字典理解与 str.contains 进行部分字符串匹配

    我有一个数据框 其中有一列名为course names使用带有课程名称列表的映射字典 我希望在键中匹配我想要在值列中分配的值 import pandas as pd df pd DataFrame course name Phsyics M
  • 获取所选元素的外部 HTML

    我正在尝试使用 jQuery 获取所选对象的 HTML 我知道 html 功能 问题是我需要包含所选对象的 HTML 在本例中为表格行 其中 html 仅返回行内的单元格 我四处搜索 发现了一些非常 hackish 类型的方法来克隆对象 将
  • Python:linecache 没有按预期工作?

    你好 我有这个 python 脚本 我需要用它来遍历一些目录并提取这些目录中的一些文件中的一些信息 所以我有很多目录 每个目录中还有 5 个子目录 在这 5 个子目录中 每一个都有 3 个文本文件 一个是我忽略的 txt 另一个是我需要阅读
  • 将切片的所有项目添加到通道中

    在 Go 中 是否有比以下更惯用的方法将数组 切片的所有元素添加到通道中 ch make chan string values string lol cat lolcat go func for v range values ch lt v
  • 可执行文件和可重定位目标文件的疑问

    我写了一个简单的Hello World 程序 include
  • 数据库安全组只能与使用 API 版本的 VPC 数据库实例关联

    我有下面的代码在 aws 中创建 RDS 实例 import boto rds REGION us east 1 INSTANCE TYPE db t1 micro ID MySQL db instance database test2 U
  • 使用 AJAX 关闭 Bootstrap 的模式

    我使用的模式是Twitter 的 Bootstrap http getbootstrap com 2 3 2 javascript html modals您可以通过单击按钮或与标签不同的内容来关闭模式data dismiss modal 我
  • IntelliJ:Ubuntu/linux 如何从 shell 使用 IntelliJ 打开文件

    遵循这个问题 似乎可以在 MAC 上使用 IntelliJ 从 shell 打开文件 IntelliJ 如何从命令行打开现有 IntelliJ 中的文件 https stackoverflow com questions 2695820 i
  • 如何按列值对数据框进行排序?

    我对 python 和 pandas 数据框架比较陌生 所以也许我在这里错过了一些非常简单的东西 因此 我的数据框包含许多行和列 但最后最终设法仅从每一列中获取具有最大值的一行 我用这段代码来做到这一点 import pandas as p
  • 在 OS X 上构建 valgrind

    我试图在 macOS Sierra 版本 10 12 6 上安装 valgrind 运行 configure sh时 出现以下错误 检查受支持的 gcc 版本 配置为 prefix Library Developer CommandLine
  • Material React 分页,更改每页行数

    Material React 分页组件是否有页面大小选项 每页行数 我在列出的 API 中没有看到它 我知道 TablePagination 组件可以 但是常规组件似乎没有
  • 如何在 play (2.3) 框架内从 Java 控制器代码中的 String 变量构造 Html 对象

    I am just开始使用 play 框架 我试图了解 java 应用程序代码和基于 scala 的模板框架之间的交互 注意 到目前为止 我对 Scala 一无所知 除了它是另一种编译语言之外到 JVM 上的字节码 并且 Scala 和 J