播放框架-简单表达的非法开始 [英] Play framework - illegal start of simple expression

查看:54
本文介绍了播放框架-简单表达的非法开始的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现一个过滤器功能,该功能将按业务类型显示业务.这是搜索表单",用户可以在其中选择他们想要显示的业务类型

I am trying to implement a filter functionality that will display businesses by their type. This is the "search form" where the user can select what type of business they want to display

@(businessList: List[Business], formSearch: Form[Business])

@import helper._

@main("All businesses"){

@form(action=routes.Application.displayAllBusinesses("")){
     @select(formSearch("type"),options(Seq("Dining","Accomodation","Manufacturing","Retail", "Services")),'_label ->"Business Type",'_default->"--Select a business type--")

    <input type="submit" class="btn btn-success" value="Search by type">
    <a class="btn"  href="@routes.Application.displayAllBusinesses()">Show all businesses</a>
    <a class="btn" href="/registerBusiness">Register a business</a>
}

然后我有一个for循环来显示所有业务:

Then I have a for loop to display all the businesses:

<ul>
    @for(business <- businessList) {
        <li>
            <p>Business Name: @business.getName()</p>
            <p>Business Type: @business.getType()</p>
            <p>Business Email: @business.getEmail()</p>
            <p>Business Location: @business.getLocation()</p>
            <p>Business Description: @business.getDescription()</p>
            <p>Id is: @business.id </p>

           <a class="btn" href="@routes.Application.displayUpdateBusiness(business.id)">Update</a>
            @form(routes.Application.deleteBusiness(business.id)) {
                <input class="btn" type="submit" value="Delete"> 
            }
        </li>
    }
</ul>

当用户提交表单时,displayAllbusinesses路由如下所示(这是出现错误的地方):

When the user submits their form the displayAllbusinesses route looks like (This is where the error comes up):

GET      /listBusinesses            controllers.Application.displayAllBusinesses(type: String ?= "all")  

app/Application.java中的displayAllbusinesses方法是:

The displayAllbusinesses method in app/Application.java is:

public static Result displayAllBusinesses(String type){
    List<Business> businesses;
    if(type=="all"){
        businesses = allBusinesses;
    } else {
        businesses = Business.find.where().like("type", type).findList();
        //TRACE
        System.out.println(businesses);
   }
   return ok(listBusinesses.render(businesses, businessForm));
}            

当我运行此代码时,对于/listBusinesses路由,我得到了简单表达式的非法开头".这是什么意思?

When I run this code I get a "illegal start of simple expression" for the /listBusinesses route. What does this mean?

推荐答案

答案:我在路线中使用大写字母

Answer: I capitalized type in routes

controllers.Application.displayAllBusinesses(Type: String ?= "all")

并将搜索表单更改为大写类型

and changed the search form to have type capitalized also

@form(action=routes.Application.displayAllBusinesses("")){
 @select(formSearch("Type"),options(Seq("Dining","Accomodation","Manufacturing","Retail", "Services")),'_label ->"Business Type",'_default->"--Select a business type--")

现在可以使用.变身

这篇关于播放框架-简单表达的非法开始的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆