我的应用程序中有一个具有以下结构的标签:
@(
columns: Integer
)(header: Html)(body: Html)
<table>
@if(header != null) {
<thead>
<tr>
@header
</tr>
</thead>
}
// Body and foot here
</table>
Run Code Online (Sandbox Code Playgroud)
我在我的模板中使用它,如下所示:
@tags.Table(5) { } {
// My content here
}
Run Code Online (Sandbox Code Playgroud)
前面的代码不起作用:即使我让括号为空,也会<thead></thead>显示 。那么如何检查header不为空、null...以及如何在模板中声明我的标签?也许我用 来声明是错误的{ }?
如果我用 声明它{},则会出现以下错误:
type mismatch;
found : Unit
required: play.twirl.api.Html
Run Code Online (Sandbox Code Playgroud) 我想将多模块 Maven 项目中的 Scala 版本从 2.11 升级到 2.13。我更改了pom.xml中的所有Scala版本和Scala后缀版本,更新了依赖版本。我在编译中遇到下一个错误:
\target\generated-sources\twirl\txt\template.template.scala:12: object JavaConversions is not a member of package collection
Run Code Online (Sandbox Code Playgroud)
在目标文件夹中,我找到了旋转模板的编译对象:
import _root_.play.twirl.api.JavaScript
import _root_.play.twirl.api.Xml
....
import scala.collection.JavaConversions._
import scala.collection.JavaConverters._
object analyze_template extends _root_.play.twirl.api.BaseScalaTemplate[pla
Run Code Online (Sandbox Code Playgroud)
来自旋转模板:
@(sourceIncrementName: String, sourceSnapshotName: String)
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何解决吗?
在 Maven 中,我有 scala-maven-plugin 和 twirl 插件:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<jvmArgs>
<jvmArg>-Xms128m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
<jvmArg>-XX:MaxPermSize=512m</jvmArg>
</jvmArgs>
<args>
<arg>-unchecked</arg>
<arg>-deprecation</arg>
<arg>-explaintypes</arg>
<arg>-feature</arg>
<arg>-language:implicitConversions</arg>
</args>
<recompileMode>incremental</recompileMode>
<scalaVersion>2.13</scalaVersion>
</configuration>
</plugin>
<plugin>
<groupId>com.jakewharton.twirl</groupId>
<artifactId>twirl-maven-plugin</artifactId>
<version>1.1.0</version>
<executions>
<execution> …Run Code Online (Sandbox Code Playgroud) 使用Play 2.3.7,我有一组类似于这个示例项目的bootstrap3模板,它们在一个包中app/views/bootstrap3/.其中一个bootstrap3模板是名为的文件中的文本字段对象text.scala.html.在一个单独的包中,我有一些其他模板,我想在其中使用我的自定义文本字段.所以,在包中app/views/other/假设我有一个文件index.scala.html,如何正确导入我的Bootstrap3模板?这就是我的代码中的内容
@import views.bootstrap3._
@* my bootstrap3 text field template *@
@text("some", "params", "here")
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译时,我得到一个错误index.scala.html(第3行)说
package scala.text is not a value
Run Code Online (Sandbox Code Playgroud)
如何修复我的代码,以便我可以从单独的包中导入我的模板?
我正在使用scala play framework + scala模板引擎进行前端.如何添加按钮处理程序?点击它时我需要调用一些函数.
<body>
<p>Database interface<br />
<textarea style="margin: 0px; height: 193px; width: 533px;" cols="40" name="comment" rows="3"></textarea>
</p>
<p><input type="submit" value="Select" /> <input type="submit" value="Insert" /> <input type="submit" value="Update" /></p>
</body>
Run Code Online (Sandbox Code Playgroud)