如何将Map <String,String>渲染到模板并在那里使用

don*_*yor 2 java map playframework-2.0

我正在尝试渲染一个键,将Map映射到模板,然后以这种方式显示:

@(twittsIfollow: Map[String, String])
 .....
 @if(twittsIfollow != null) {
  @for((key, value) <- twittsIfollow) {
    @key
    @value
   } 
 }
Run Code Online (Sandbox Code Playgroud)

它说,这是错的.是否有地图键值的scala标记?

这是我的方法:

public static Map<String, String> alltwitts(List<Long> otherIDs) {
    Map<String, String> results=new HashMap<String, String>();
    for (Long id: otherIDs) {
        Query selected_twitt = JPA.em().createQuery("select u.twitt from Twitt u where " + " u.whose = ?").setParameter(1, id);
        String twOwner = User.getOneUser(id);
        String twitt  = (String) selected_twitt.getSingleResult();
        results.put(twOwner, twitt);
    }

    return results;
}
Run Code Online (Sandbox Code Playgroud)

然后我在这个地方渲染到模板:

Map<String, String> twittsIfollow = Twitt.alltwitts(IDusersIamFollowing);
return ok(microblog.render(twittsIfollow));
Run Code Online (Sandbox Code Playgroud)

现在它说: [NonUniqueResultException: result returns more than one elements]

谢谢

gre*_*gre 9

只是

@for((key, value) <- twittsIfollow) {
  @key
  @value
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果你使用的是Scala,twittsIfollow那么永远不应该为null.喜欢使用Option.