创建Tag标签
1.创建Model
@Entity
@Table(name = "blog_tag")public class Tag extends Model implements Comparable
public String name;
PRivate Tag(String name) { this.name = name;
}
public String toString() { return name;
}
public int compareTo(Tag otherTag) { return name.compareTo(otherTag.name);
}
public static Tag findOrCreateByName(String name) {
Tag tag = Tag.find("byName", name).first(); if(tag == null) {
tag = new Tag(name);
} return tag;
}}
2.Post类添加Tag属性
@ManyToMany(cascade = CascadeType.PERSIST)public Set
this.comments = new ArrayList
}
3.Post类添加方法
关联Post和Tag
public Post tagItWith(String name) {
tags.add(Tag.findOrCreateByName(name)); return this;
}
返回关联指定Tag的Post集合
public static List
).bind("tags", tags).bind("size", tags.length).fetch();
}
4.写测试用例
@Testpublic void testTags() { // Create a new user and save it
User bob = new User("bob@Gmail.com", "secret", "Bob").save();
// Create a new post
Post bobPost = new Post(bob, "My first post", "Hello world").save();
Post anotherBobPost = new Post(bob, "Hop", "Hello world").save();
// Well
assertEquals(0, Post.findTaggedWith("Red").size());
// Tag it now
bobPost.tagItWith("Red").tagItWith("Blue").save();
anotherBobPost.tagItWith("Red").tagItWith("Green").save();
// Check
assertEquals(1, Post.findTaggedWith("Red", "Blue").size());
assertEquals(1, Post.findTaggedWith("Red", "Green").size());
assertEquals(0, Post.findTaggedWith("Red", "Green", "Blue").size());
assertEquals(0, Post.findTaggedWith("Green", "Blue").size()); }
测试Tag
5.继续修改Tag类,添加方法
public static List
6.将Tag添加到页面上
/yabe/conf/initial-data.yml 添加预置数据
Tag(play):
name: Play
Tag(architecture):
name: Architecture
Tag(test):
name: Test
Tag(mvc):
name: MVC
Post(jeffPost):
title: The MVC application
postedAt: 2009-06-06
author: jeff
tags:
- play
- architecture
- mvc
content: >
A Play
7.修改display.html将tag显示出来
8.添加listTagged 方法(Application Controller)
点击Tagged,显示所有带有Tag的Post列表
public static void listTagged(String tag) {
List
render(tag, posts);
}
9.修改display.html,Tag显示
- Tagged
#{list items:_post.tags, as:'tag'}
${tag}${tag_isLast ? '' : ', '}
#{/list}
10.添加Route
GET /posts/{tag} Application.listTagged
现在有两条Route规则URL无法区分
GET /posts/{id} Application.show
GET /posts/{tag} Application.listTagged
为{id}添加规则
GET /posts/{<[0-9]+>id} Application.show
11.添加Post list页面,有相同Tag的Post
创建/app/views/Application/listTagged.html
#{extends 'main.html' /}
#{set title:'Posts tagged with ' + tag /}
*{********* Title ********* }*
#{if posts.size()>1}
There are ${posts.size()} posts tagged ${tag}
#{/if}
#{elseif posts}
There is 1 post tagged '${tag}'
#{/elseif}
#{else}
No post tagged '${tag}'
#{/else}
*{********* Posts list *********}*
#{list items:posts, as:'post'}
#{display post:post, as:'teaser' /}
#{/list}
效果:
以上就是PlayFramework完整实现一个APP(八)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

类似小红书的app有:1、绿洲,是一款新浪微博出品的移动端时尚社交应用软件;2、杂志迷,是一款手机各类杂志供大家阅读的APP;3、美丽修行,是一款提供护肤解决方案及化妆品购买决策的产品;4、凹凹啦,是一款手机化妆品点评软件,为用户提供最实用、最新鲜、最全方位的护肤、化妆点评和分享信息;5、抹茶美妆,一款实用的化妆品交流社区;6、美丽说,一款以分享为主题的趣味社交平台。

橙色软件指的是“淘宝”。淘宝是随时随地轻松购物app,为用户提供新的购物渠道,享受更多优惠活动,让用户不用出门就可以享受优惠购物平台,方便买卖家之间的沟通,购物更加方便。淘宝能满足人们生活中的各种需求:搜索和浏览商品、加入购物车、下单支付、物流查询、客服交流、发表购物评论、分享优质商品等等,还能通过本地功能,找到附近的生活优惠信息。

微软于今年早些时候推出了Windows11安全功能SmartAppControl。当时,微软将其描述为“阻止不受信任或具有潜在危险的应用程序”的保护工具。当时该工具的独特之处在于它决定了它是否应该在Windows11设备上运行。SmartAppControl一开始以评估模式运行;正是在这种模式下,应用程序决定是否应该打开它。微软确实透露用户可以在Windows安全应用程序的应用和浏览器控制部分启用智能应用控制。仅根据Microsoft的说法,SmartAppC

防诈骗的app叫“国家反诈中心”,是一款帮助用户预警诈骗信息、快速举报诈骗内容、提升防范意识的反电信诈骗应用。它的“反诈预警、身份验证、App自查、风险预警”等核心功能可以最大限度减少民众被骗的可能性;可以对那些诈骗电话或信息快速向平台举报,帮助他人减少遇到类似的情况;能够帮助用户随时监控各种恶意软件,让各种骗局无路可走,给每个用户带来一个非常安全的生活环境。

苏州地铁用“苏e行”app扫码进站。苏e行app ,提供苏州地铁扫码乘车服务,先乘车,后付款,结合苏州城市文化及地铁出行场景,围绕“地铁大脑”构建公共交通智慧出行,利用 LBS 、物联网、大数据、人工智能等先进技术为乘客提供扫码过闸、乘车服务、附近地铁商业、同时为苏州本地商家提供用户引流、活动推广等服务,构建互联网化的苏州城市生活服务。

AppStore是iOS相关应用程序的市场。在这里,您还可以找到免费应用程序和付费应用程序。应用程序可以是游戏应用程序、提高工作效率的应用程序、实用应用程序、社交媒体应用程序以及更多类别的应用程序。您可能已经从AppStore下载或购买了许多适用于iPhone的应用程序。现在您可能想知道如何查看在App Store中购买的应用程序的购买历史记录。有时,出于隐私原因,您可能需要从购买历史记录中隐藏某些购买。在本文中,我们将指导您查找购买历史记录以及如何根据需要从购买历史记录中删除/隐藏购买。第1部

猴山指的是“AcFun”,是一个视频播放软件。AcFun以视频为载体,逐步发展出基于原生内容二次创作的完整生态,是中国弹幕文化的发源地。AcFun以“认真你就输了”为文化导向,倡导轻松欢快的亚文化,受广大二次元用户的深度喜爱,入驻超多原创视频的作者,覆盖面超广阔。

tiktok是抖音短视频国际版,是字节跳动旗下短视频社交app软件,于2017年5月上线,愿景是“激发创造,带来愉悦”。用户可以通过这款软件选择歌曲,拍摄音乐短视频,形成自己的作品,会根据用户的爱好,来更新用户喜爱的视频。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!