2017-02-23 40 views
2

我是新手玩框架。在嘗試生成帶模板的html模板時,我收到了錯誤非法啓動簡單模式在線ticket.getTicketIds。花了一些時間試圖解決問題,但沒有好處。非法啓動簡單模式 - 玩框架

<tbody> 
    @for(ticket <- @obj.getPurchasedTickets()) { 
     @for((key,val) <- @obj.getTicketsCalculation()) { 
     @if(key.equals(ticket.getTicketId())) { 
      <tr> 
      <td class="desc">@ticket.getTicketName()<br></br> 
      @if(ticket.getTicketIds() != null && !ticket.getTicketIds().isEmpty()) { 
       @for(ticketid <- ticket.getTicketIds){ 
        #@ticketid 
       } 
      } 
      </td> 
      <td class="unit">@ticket.getPrice()</td> 
      </tr> 
      } 
     } 
    } 
</tbody> 

以下的POJO用於​​獲取必要的值

public class PurchasedTicket { 

    private String ticketId; // represents the ticket's id 
    private String ticketName; 
    private Integer numberOfTickets; 
    private Double price; 
    private List<String> ticketIds; // list of tickets bought with this ticket 

    // setters and getters 

}

public class Wrapper{ 

    private Map ticketsCalculation; 
    private List<PurchasedTicket> purchasedTickets; 

    // setters and getters 
} 

在模板部分的OBJ表示爲對象包裝

+0

'ticket.getTicketIds'顯示了幾次。哪一個? – Rumid

+0

@for中的一個(ticketid < - ticket.getTicketIds){@ ticketid } – user3673985

+0

它們表示字符串值。 – user3673985

回答

1

只是爲了讓編譯:

  1. As @ rouge-one提到,你可以使用不同的變量名稱,例如。值。

  2. 您不應該使用多個@標誌。正如docs所說,它應該在動態語句的開始處使用,例如。 @for(ticket <- obj.getPurchasedTickets()) {

    所以工作代碼應該是這樣的:

    <tbody> 
        @for(ticket <- obj.getPurchasedTickets()) { 
         @for((key, value) <- obj.getTicketsCalculation()) { 
          @if(key.equals(ticket.getTicketId())) { 
           <tr> 
            <td class="desc">@ticket.getTicketName()<br></br> 
             @if(ticket.getTicketIds() != null && !ticket.getTicketIds().isEmpty()) { 
              @for(ticketid <- ticket.getTicketIds){ 
               #@ticketid 
              } 
             } 
            </td> 
            <td class="unit">@ticket.getPrice()</td> 
           </tr> 
          } 
         } 
        } 
    </tbody> 
    
+0

謝謝。它的工作:) – user3673985

0

從更改屬性名稱到value您的模板的第3行,因爲val是保留字。

(key,value) <- @obj.getTicketsCalculation() 

例如見下文

scala> val (key, value) = "key1" -> "val1" 
key: String = key1 
value: String = val1 

階> VAL(鍵,值)= 「KEY1」 - > 「VAL1」 鍵:字符串= KEY1 值:字符串= VAL1

scala> val (key, val) = "key1" -> "val1" 
<console>:1: error: illegal start of simple pattern 
val (key, val) = "key1" -> "val1" 
     ^
+0

嘗試過,但問題仍然存在 – user3673985

+0

@ user3673985你檢查是否有其他val或類似關鍵字的其他實例濫用。嘗試清理目標並重新編譯。如示例所示,我們如何獲得「非法啓動簡單模式」 –

+0

嘗試過這些但仍然存在問題:( – user3673985