创建Tag标签
1.创建Model
@Entity
@Table(name = "blog_tag")public class Tag extends Model implémente Comparable {
public String name ;
Balise privée (nom de chaîne) { this.name = nom;
}
public String toString() { return name;
}
public int compareTo(Tag otherTag) { renvoie le nom. 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)); renvoie ceci ;
}
返回关联指定Tag的Post集合
liste statique publique
).bind("tags", tags).bind("size", tags.length).fetch();
}
4.写测试用例
@Testpublic void testTags() { // Créer un nouvel utilisateur et l'enregistrer
Utilisateur bob = new Utilisateur("bob@Gmail.com", "secret", "Bob").save();
// Créer un nouveau message
Post bobPost = new Post(bob, "Mon premier message", "Bonjour tout le monde").save();
Publier un autreBobPost = new Post(bob, "Hop" , "Bonjour tout le monde").save();
// Eh bien
assertEquals(0, Post.findTaggedWith("Red").size());
// Marquez-le maintenant
bobPost.tagItWith("Red").tagItWith("Blue").save();
anotherBobPost.tagItWith("Red").tagItWith("Green"). sauvegarder();
// Vérifiez
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类,添加方法
Liste statique publique
Liste
) .aller chercher(); retourner le résultat ;
}
6.将Tag添加到页面上
/yabe/conf/initial-data.yml 添加预置数据
Tag(play):
nom: Play
Tag(architecture):
nom: Architecture
Tag(test):
nom: Test
Tag(mvc):
name: MVC
Post(jeffPost):
title: L'application MVC
postedAt : 2009-06-06
auteur : Jeff
Une pièce
7.修改display.html将tag显示出来
8.添加listTagged 方法(Application Controller)
点击Tagged,显示所有带有Tag的Post列表public static void listTagged(String tag) {
List posts = Post.findTaggedWith(tag);
render(tag, posts);}
9.修改display.html,Tag显示
#{list items:_post.tags, as:'tag'}
${tag} ${tag_isLast ? '' : ', '}#{/list}
10.添加Route
现在有两条Route规则URL无法区分
OBTENIR /posts/{tag} Application.listTagged
为{id}添加规则
GET /posts/{id} Application.show
11.添加Post list页面,有相同Tag的Post
#{set title:'Messages marqués avec ' tag /}
*{********* Titre ********* }*
#{if posts.size()>1}
Il y a ${posts.size()} messages tagués ${tag}
#{/if}
#{elseif posts}
Il y a 1 message tagué '${tag}'
#{/elseif}
#{else}
Aucun message tagué '${tag}'
#{/else}
*{********* Liste des messages ********}*
#{lister les éléments : posts, as : 'post'>
#{afficher le post :post, as :'teaser' /}
#{/list}
效果:
以上就是PlayFramework完整实现一个APP(八)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Version Mac de WebStorm
Outils de développement JavaScript utiles

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Dreamweaver Mac
Outils de développement Web visuel