如果我想在多个页面上使用一个通用的UI,例如菜单,推荐的方法是什么?它将包含模板代码和后端Controller(类似于LiftWeb框架中的“片段”)。我知道Play有一个菜单模块,但我更感兴趣的是一般情况下如何实现。 最佳答案 有两种方法可以将通用View代码包含到PlayFramework中。您可以使用#{include}标签或#{extends}标签。extends标签,顾名思义,从父View扩展。当您创建新应用程序时,Play设置的框架代码中默认使用extends标签。它扩展了main.html。您在此处添加代码。inclu
我想知道用户的session在服务器端是否已过期并在发生时执行某些操作。我该怎么做?我正在使用Java和Play框架2.2.1。 最佳答案 使用Play时的built-inauthentication,在每个经过身份验证的请求中,在session中存储一个时间戳,并更新过期时间。然后,在身份validator中,验证session过期时间。文章HowtoimplementaSessionTimeoutinPlayFramework2提供了这个例子:publicclassSecuredextendsSecurity.Authentic
我正在使用playframework2.1.2使用java我正在创建View来上传多个文件,我的代码在这里:@form(action=routes.upload.up,'enctype->"multipart/form-data"){}我只想上传doc和pdf文件。如何限制表单只上传doc和pdf文件?我可以用java做到这一点,但我正在寻找html代码。在此之后我想将多个文件存储到我的计算机中的永久存储中。并打印我上传的文件名。我的代码:publicstaticResultup(){MultipartFormDatamd=request().body().asMultipartFor
我在Play框架中使用Java,我有一些测试(功能测试),当我通过我的IDE(IntelliJ)运行它们时通过了它们,但当我通过控制台运行测试时失败了。我的问题是测试日志中显示的堆栈跟踪只有2行,我需要完整的堆栈跟踪才能查看其中发生了什么,我已经尝试了此处提到的任意设置组合:spec2settings通过将它们放入build.sbt或在命令行中提供它们。好像没什么效果!这是我的build.sbt:version:="1.0-SNAPSHOT"libraryDependencies++=Seq(javaJdbc,javaEbean,cache,filters)logBufferedinT
我有以下Json结构:{"name":"John","surname":"Doe","languages":[{"language":"english","level":"3"},{"language":"french","level":"1"}]}我正在使用PlayFramework解析HTTP消息中的Json数据,该消息是使用自研REST服务发送的。我已经知道如何通过查看文档从Json数据中解析姓名和姓氏,这是通过以下方式完成的:JsonNodejson=request().body().asJson();Stringname=json.findPath("name").textV
我正在尝试构建一个Play!针对现有数据库运行的应用程序,其中所有列都有下划线来分隔单词。这意味着我必须在每个字段上放置一个@Column注释以指定不同的名称。有没有办法得到Play!默认使用下划线? 最佳答案 如果Play使用Hibernate,正如其他答案所建议的那样,您将不得不implementacustomNamingStrategy。下面是一个NamingStrategy示例,它使用Guava将所有列名从小驼峰转换为带下划线的小写:publicclassCustomNamingStrategyextendsImproved
我正在使用Play2.5构建一个简单的应用程序。为了获得更好的性能,我将Akka分块响应与Java8CompletionStage策略结合使用。下面是生成分块响应的代码(不使用ComperableFuture时工作正常):@SingletonpublicclassAbstractSource{publicSourcegetChunked(Stringhtml){returnSource.actorRef(256,OverflowStrategy.dropNew()).mapMaterializedValue(sourceActor->{sourceActor.tell(ByteStri
我正在使用playframework2.1.0,我使用命令playnewmyfirstapp创建了新项目,然后我选择了2个选项来创建简单的java项目,因此它创建了项目现在,当我通过命令playrun开始Play时,我得到以下输出C:\development\application\firstApp\helloworld>playrun[info]LoadingprojectdefinitionfromC:\development\application\firstApp\helloworld\project[info]Setcurrentprojecttohelloworld(inb
我有springbootrestapi(资源),它使用另一个springboot授权服务器,我已将Swagger配置添加到资源应用程序中,以便为restAPI获得一个快速的文档/测试平台。我的Swagger配置如下所示:@Configuration@EnableSwagger2publicclassSwaggerConfig{@AutowiredprivateTypeResolvertypeResolver;@Value("${app.client.id}")privateStringclientId;@Value("${app.client.secret}")privateStrin
我有一个WidgetDto,我已经用swaggerUI注释进行了注释。最终响应用一层元数据包装WidgetDto列表(每页21ofthisRESTful最佳实践文档)。例如:{"data":[{"id":1234,"prop1":"val1"...},{"id":5678,"prop1":"val2"...},...]}我的java代码如下所示:@GET@Produces(MediaType.APPLICATION_JSON)@ApiOperation(value="Getallwidgets.",response=WidgetDto.class)@ApiResponses(value