Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework 2.0 播放2.0小部件_Playframework 2.0_Typesafe Stack - Fatal编程技术网

Playframework 2.0 播放2.0小部件

Playframework 2.0 播放2.0小部件,playframework-2.0,typesafe-stack,Playframework 2.0,Typesafe Stack,我正在学习使用Scala的Play2.0教程,并且正在学习表单模板和字段构造函数 是否有一种很好的方法可以添加日历字段,就像使用Primefaces(JSF)一样: 如果它不存在,是否在管道中?没有日期/时间选择器标记,原因很简单:因为Play是一个框架而不是CMS,没有默认的前端库,包括的引导标记事实上被放置在Play中。。。意外:) 上次我需要这个字段时,我使用了两个Bootstrap插件的组合: 因为我喜欢他们分开。。。当然,您可以搜索另一个结合日期和时间选择器的解决方案,即:,这

我正在学习使用Scala的Play2.0教程,并且正在学习表单模板和字段构造函数

是否有一种很好的方法可以添加日历字段,就像使用Primefaces(JSF)一样:


如果它不存在,是否在管道中?

没有日期/时间选择器标记,原因很简单:因为Play是一个框架而不是CMS,没有默认的前端库,包括的引导标记事实上被放置在Play中。。。意外:)

上次我需要这个字段时,我使用了两个Bootstrap插件的组合:

因为我喜欢他们分开。。。当然,您可以搜索另一个结合日期和时间选择器的解决方案,即:,这完全取决于您的需求和使用的FE解决方案(如果您不使用引导,您可以使用示例)

编辑:
帮助程序
只不过是游戏中内置的可随时使用的迷你模板,使用动态部件的Scala语法编写,唯一的任务是生成HTML片段。正如我所说,Play没有您所展示的那么大的库,但是您也可以使用动态参数编写这样的东西(例如,写入
标记
包),然后使用与帮助程序完全相同的方式

实际上,我是这样使用上述引导程序的插件的:

app/views/tags/datePickerJs.scala.html

<!-- first line has to be empty, as that's place for defining views arguments - remove this comment...-->
<script type="text/javascript">
    function setToday(datePickerSetId) {
        var currentServerDate = "@DatepickerUtils.getCurrentDate()";
        var currentServerTime = "@DatepickerUtils.getCurrentTime()";
        $("#" + datePickerSetId + "Date").val(currentServerDate);
        $("#" + datePickerSetId + "Time").val(currentServerTime);
        $("#" + datePickerSetId + "DateContainer").data('date', currentServerDate);
        $("#" + datePickerSetId + "DateContainer").datepicker('update');
    }
</script>
@(label: String, prefix: String, dateString: String=null)

<label for="@{prefix}Date">@label </label>

<btn id="@{prefix}" class="datePickerSetNow btn pull-left" onclick="setToday('@{prefix}'); return false;">teraz</btn>
<div class="input-append date pull-left datePickerDateContainer" id="@{prefix}DateContainer" data-date='@DatepickerUtils.splitDateTime(dateString, 0, true)' da$
<input class="span2" size="16" type="text" value='@DatepickerUtils.splitDateTime(dateString, 0)' name="@{prefix}Date" id="@{prefix}Date">
<span class="add-on"><i class="icon-calendar"></i></span>
</div>

<div class="input-append bootstrap-timepicker-component datePickerTimeContainer">
    <input type="text" class="@{prefix}Time input-small" name="@{prefix}Time" id="@{prefix}Time">
    <span class="add-on"><i class="icon-time"></i></span>
</div>

<script type="text/javascript">
    $('#@{prefix}DateContainer').datepicker({weekStart:1, language:'pl'});
    $('#@{prefix}Time').timepicker({
        minuteStep:5, template:'dropdown', showMeridian:false, defaultTime:'@DatepickerUtils.splitDateTime(dateString, 1)'
    });</script>
因此,在任何视图中,您都可以在以后使用它:

@tags.dateTimePicker(
   "Event's start",
   "eventStartDate",
   myForm("eventStart").value
)

@tags.dateTimePicker(
   "Event's end",
   "eventEndDate",
   myForm("eventEnd").value
)

<!-- once per view at the end -->
@tags.datePickerJs()
@tags.dateTimePicker(
“活动开始”,
“事件开始日期”,
myForm(“eventStart”).value
)
@tags.dateTimePicker(
“活动结束”,
“eventEndDate”,
myForm(“eventEnd”).值
)
@tags.datePickerJs()
当然,Bootsrtap的示例是为我的字段准备的,并且需要Java类中的其他方法,因此如果不进行修改,它将无法工作。一般来说,我想向您演示
标记的概念


当然,我同意你的看法,如果有类似的API可用于Play框架的easy install for Play,那将是完美的,但我不确定Play的开发人员是否正在计划。。。你应该问问他们。很可能这是独立模块的任务,目标是一些JS库,正如我之前所写的,没有默认的前端库,您必须使用。

也许我需要稍微修改一下这个问题。这些解决方案都与Scala无关,它们只是JS库。我想知道的是,是否会有一个助手库,这样我就可以编写Scala,比如:@helper.calendar(form(“to”)或@helper.rater(form(“rating”),readOnly->false,这些方法调用将生成显示日历或评级小部件所需的所有HTML和javascript。参见www.primefaces.org-有数百个widget就绪数据包,可集成到JSF中。理论上,在游戏中也可以做同样的事情。是的,我明白你的意思。我补充了一些澄清。我希望这能帮助你更好地理解这个概念。总的来说,我想说的是,目前还没有这样的“代码片段”,但您可以用
标记添加它。biesior,DatepickerUtils来自哪里?
@(label: String, prefix: String, dateString: String=null)

<label for="@{prefix}Date">@label </label>

<btn id="@{prefix}" class="datePickerSetNow btn pull-left" onclick="setToday('@{prefix}'); return false;">teraz</btn>
<div class="input-append date pull-left datePickerDateContainer" id="@{prefix}DateContainer" data-date='@DatepickerUtils.splitDateTime(dateString, 0, true)' da$
<input class="span2" size="16" type="text" value='@DatepickerUtils.splitDateTime(dateString, 0)' name="@{prefix}Date" id="@{prefix}Date">
<span class="add-on"><i class="icon-calendar"></i></span>
</div>

<div class="input-append bootstrap-timepicker-component datePickerTimeContainer">
    <input type="text" class="@{prefix}Time input-small" name="@{prefix}Time" id="@{prefix}Time">
    <span class="add-on"><i class="icon-time"></i></span>
</div>

<script type="text/javascript">
    $('#@{prefix}DateContainer').datepicker({weekStart:1, language:'pl'});
    $('#@{prefix}Time').timepicker({
        minuteStep:5, template:'dropdown', showMeridian:false, defaultTime:'@DatepickerUtils.splitDateTime(dateString, 1)'
    });</script>
@tags.dateTimePicker(
   "Event's start",
   "eventStartDate",
   myForm("eventStart").value
)

@tags.dateTimePicker(
   "Event's end",
   "eventEndDate",
   myForm("eventEnd").value
)

<!-- once per view at the end -->
@tags.datePickerJs()