0

我正在使用 play framework 开发一个 web 应用程序,我想使用 id 以网格格式显示数据,这将通过单击左侧存在的导航上的链接来获取(类似于 play framework 提供的 zentasks 示例应用程序)。

我能够在左侧导航器上以 href 的形式呈现数据列表。但是当我单击任何项​​目时,它不会呈现相应的视图。

我按照他们给出的 zentasks 示例进行操作。在 zentask 示例中,我不明白他们是如何通过单击导航上存在的项目来渲染主体的。

任何人都可以分享我如何在游戏框架中实现上述功能:

我有 Main.scala.html,我有 Nav 和 Section 部分如下:

<h4 class="dashboard"><a href="#/">Locate Equipment</a></h4>
        <ul id="projects">
            <li data-group="equipment groups">
                <span class="toggle"></span>
                <h4 class="groupName">Equipment Groups</h4>
                <span class="loader">Loading</span>                
                <ul style="height: 500px; overflow: auto">                      
                        @equipmentgroups.map{ task=>    
                        <li data-project="@task.id">                   
                            <a class="name" href="#@routes.EquipmentGroups.search(task.id)">@task.name</a>
                             <span class="loader">Loading</span> </li>}                                                 
                </ul>       
            </li>              
    </nav>
    <section id="main">
        @body
    </section>

` 和dashboard.scala.html 如下:

@(favorite:List[Favorite],equipmentGroup:List[EquipmentGroup],user: User)
@main(favorite,equipmentGroup,user){    
<header>
    <hgroup>
        <h1>Dashboard</h1>            
    </hgroup>
</header>    
<article  class="tasks">        
        <div class="folder" >
            <header>
                <h3><a href="#">Equipment Group</a></h3>                   
                               </header>                                 
        </div>    
</article>

}

单击链接的左侧,我想在右侧显示该设备名称,我在views.EquipmentGroups 文件夹中添加了Equipment.scala.html。 @( title: String) <h4> This is @title</h4>

这是我的 application.java:`public class Application extends Controller {

public static class Login {
    public String username;
    public String password;

    public String validate() {
        if (User.authenticate(username, password) == null) {
            return "Invalid user or password";
        }
        return null;
    }
}
public static Result list() {
    System.out.println(request().username());
    return ok(dashboard.render(Favorite.GetFavorite(),
            EquipmentGroup.GetEquipmentGroup(),
            User.GetUser(session().get("username"))));
}

public static Result login() {
    return ok(login.render(form(Login.class)));
}

public static Result logout() {
    session().clear();
    flash("success", "You've been logged out");
    return redirect(routes.Application.login());
}

public static Result authenticate() {
    Form<Login> loginForm = form(Login.class).bindFromRequest();
    if (loginForm.hasErrors()) {
        return badRequest(login.render(loginForm));
    } else {
        session("username", loginForm.get().username);
        return redirect(routes.Application.list());
    }
}

public static Result javascriptRoutes() {
    response().setContentType("text/javascript");
    return ok(
        Routes.javascriptRouter("jsRoutes",
                controllers.routes.javascript.EquipmentGroups.search()
                )
        );
}`

我还没有写任何javascripts。

如果我需要提供更多信息,请告诉我。

4

1 回答 1

1

我不是 100% 确定(我没有尝试过),但以下对我来说似乎很可疑:

在 Main.scala.html 中,任务导航链接似乎无效,我认为每个链接的开头都有一个不需要的字符:

<a class="name" href="#@routes.EquipmentGroups.search(task.id)">@task.name</a>
                      ^
                      |
                      This hash char seems to be the problem, remove it

如果这个哈希不是问题,谁能解释一下它的目的是什么?;)

于 2012-10-31T06:31:25.430 回答