2014-03-17 2 views
1

У меня странная ошибка, когда я пытаюсь скомпилировать проект распыления, чей файл вертела должен отображать список RDV (встреч) между 2 датами:непонятная ошибка в файле twirl (scala + sbt + spray + twirl)

> compile 
[info] Compiling twirl template .../texte.scala.html to .../texte.template.scala 
[info] Compiling 9 Scala sources to /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/target/scala-2.10/classes... 
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/target/scala-2.10/src_managed/main/generated-twirl-sources/html/texte.template.scala:16: ')' expected but '=' found. 
[error] Seq[Any](_display_(Seq[Any](/*2.2*/(rdvs:List[Rdv], de:String = "Entrez une date", jusque:String = "Entrez une date"))),format.raw/*2.84*/(""" 
[error]                ^
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/target/scala-2.10/src_managed/main/generated-twirl-sources/html/texte.template.scala:120: ')' expected but '}' found. 
[error] </html>"""))} 
[error]   ^
[error] two errors found 
[error] 2 problem(s) in Twirl template(s) found 
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/src/main/twirl/texte.scala.html:2: ')' expected but '=' found. 
[error] @(rdvs:List[Rdv], de:String = "Entrez une date", jusque:String = "Entrez une date") 
[error]       ^
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/src/main/twirl/texte.scala.html:108: ')' expected but '}' found. 
[error] (compile:compile) Compilation failed 
[error] Total time: 1 s, completed 17 mars 2014 19:48:06 

После некоторых ошибок в вертеть скомпилированный файл, SBT дает мне соответствующую ошибку в HTML файл, но это не понятно для меня;

здесь файл вертеть:

@import metier.Objets.Rdv 
@(rdvs:List[Rdv], de:String = "Entrez une date", jusque:String = "Entrez une date") 

<!-- --> 

<html> 
<head> 
<!-- DataTables CSS --> 
<link rel="stylesheet" type="text/css" 
    href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css"> 
<!-- jQuery 
<script type="text/javascript" charset="utf8" 
    src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>--> 

<link rel="stylesheet" 
    href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> 
<script src="//code.jquery.com/jquery-1.9.1.js"></script> 
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
<link rel="stylesheet" href="/resources/demos/style.css"> 
<!-- DataTables --> 
<script type="text/javascript" charset="utf8" 
    src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script> 
<script type="text/javascript" src="https://github.com/jquery/jquery-ui/blob/master/ui/i18n/datepicker-fr.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#aTable').dataTable(); 
    }); 
</script> 
<script> 
    $(function() { 
     $.datepicker.setDefaults($.datepicker.regional[""]); 
     $("#from").datepicker({ 
      dateFormat: 'dd-mm-yy', 
      changeMonth : true, 
      changeYear : true, 
      onClose : function(selectedDate) { 
       $("#to").datepicker("option", "minDate", selectedDate); 
      } 
     }); 
     $("#from").datepicker($.datepicker.regional["fr"]); 
     $("#to").datepicker({ 
      dateFormat: 'dd-mm-yy', 
      changeMonth : true, 
      changeYear : true, 
      onClose : function(selectedDate) { 
       $("#from").datepicker("option", "maxDate", selectedDate); 
      } 
     }); 
    }); 
</script> 



</head> 
@* This template is a simple html template --- (this text btw. is a 
comment and is not rendered) *@ 

<form class="form-horizontal" id="signinForm" action="" method="post"> 

     <label>hello</label> <input name="nom" /> 
     <button data-bind="click: signin">CLICK ME!</button> 
     <br /> <label for="from">De</label> <input type="text" id="from" 
      name="from"> <label for="De">à</label> <input type="text" 
      id="to" name="to"> 

</form> 


<table id="aTable" class="display" width="500px" align="left"> 
    <thead> 
     <tr> 
      <th>Nom</th> 
      <th>Prénom</th> 
      <th>Date examen</th> 
      <th>Heure Examen</th> 
      <th>Tél.</th> 
      <th>Bureau</th> 
      <th>Privé</th> 
      <th>Site</th> 
      <th>Type</th> 
      <th>Libellé</th> 
      <th>orderID</th> 
      <th>Statut</th> 
     </tr> 
    </thead> 
    <tbody> 
     @for(rdv <- rdvs){ 
     <tr> 
      <td>@rdv.nom</td> 
      <td>@rdv.prénom</td> 
      <td>@rdv.dateRDV</td> 
      <td>@rdv.heureRDVString</td> 
      <td>@rdv.telPortable</td> 
      <td>@rdv.telBureau</td> 
      <td>@rdv.telPrivé</td> 
      <td>@rdv.siteRDV</td> 
      <td>@rdv.typeRDV</td> 
      <td>@rdv.libelléRDV</td> 
      <td>@rdv.orderId</td> 
      <td>@rdv.statut</td> 

     </tr> 
     } 
    </tbody> 
</table> 

</html> 

только начало обеспокоен ошибкой. Вы можете мне помочь?

пс: вот часть маршрута обработки в виде предыдущего вертеть файла:

post { 
     formField('nom ,'from, 'to) { (name,de,jusque) => 
     println("button clicked!") 
     respondWithMediaType(`text/html`) { 
      val listOfRdv:List[Rdv]=grab_rdv 
      complete(html.texte(listOfRdv).toString) 
     } 
     } 
    } 

благодаря

PS: чтобы ответить на комментарий, вот новая ошибка при удалении значения по умолчанию значения:

[

info] Compiling twirl template .../texte.scala.html to .../texte.template.scala 
[info] Compiling 9 Scala sources to /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/target/scala-2.10/classes... 
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/src/main/scala/com/example/MyService.scala:43: too many arguments for method apply:()twirl.api.HtmlFormat.Appendable in object texte 
[error]   complete(html.texte(Nil).toString) 
[error]        ^
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/src/main/scala/metier/Objets.scala:4: object io is not a member of package reflect 
[error] import scala.reflect.io.File 
[error]     ^
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/src/main/scala/metier/Objets.scala:124: not found: value File 
[error]   val fileToSave = File(fileString) 
[error]      ^
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/src/main/scala/metier/Objets.scala:127: not found: value File 
[error]   val ancientFile = File(fileString + ".save") 
[error]       ^
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/target/scala-2.10/src_managed/main/generated-twirl-sources/html/texte.template.scala:16: not found: value rdvs 
[error] Seq[Any](_display_(Seq[Any](/*2.2*/(rdvs:List[Rdv], de:String, jusque:String))),format.raw/*2.45*/(""" 
[error]         ^
[error] 5 errors found 
[error] 1 problem(s) in Twirl template(s) found 
[error] /Users/oliviersaint-eve/sms/SPRAY/spray-macaque/src/main/twirl/texte.scala.html:2: not found: value rdvs 
[error] @(rdvs:List[Rdv], de:String, jusque:String) 
[error] ^
[error] (compile:compile) Compilation failed 
[error] Total time: 9 s, completed 17 mars 2014 20:56:12 

Опять же, непонятно, в мои маршруты либо я вызываю страницу с параметром типа List [Rdv], либо с помощью Nil ...

ответ

1

Похоже, вы не можете иметь значения по умолчанию в параметрах вашего шаблона. Попробуйте изменить вторую строку следующим образом:

@(rdvs: List[Rdv], de: String, jusque: String) 

Вы можете передать эти значения вместо того, чтобы сохранять их как стандартные.

+0

привет, спасибо. Пожалуйста, взгляните на редактирование моего вопроса! – lolveley

+1

ОК, он работает: я удалил @import и изменил Rdv на metier.Objets.Rdv; Я изменил файл scala.reflect.File на java.lang.File (неправильный импорт), и я добавил два последних параметра String, которых не хватает. – lolveley

Смежные вопросы