У меня странная ошибка, когда я пытаюсь скомпилировать проект распыления, чей файл вертела должен отображать список 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 ...
привет, спасибо. Пожалуйста, взгляните на редактирование моего вопроса! – lolveley
ОК, он работает: я удалил @import и изменил Rdv на metier.Objets.Rdv; Я изменил файл scala.reflect.File на java.lang.File (неправильный импорт), и я добавил два последних параметра String, которых не хватает. – lolveley