2017-02-23 7 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は、テンプレート部分で表現objがラッパークラス

+0

'ticket.getTicketIds'回のカップルを示しています。どれ? – Rumid

+0

@forのもの(ticketid < - ticket.getTicketIds){ #@ ticketid } – user3673985

+0

これらは文字列値を表します。 – user3673985

答えて

1

  1. @ルージュと同じように、別の変数名を使うことができます。値。

  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
の目的で必要な値

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 
} 

を取得するために使用されています

属性名をに変更します。 valは予約語なので、テンプレートの3行目の〜valueになります。例えば

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

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

スカラ>ヴァル(キー、値)= "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

関連する問題