我有一个jstl循环,我想格式化一个表单的日期:input。我尝试了许多排列的一些建议,我喜欢在网上,但我只是不能使它的工作…谁能看一下吗?
我包含了上下文的完整循环,但问题在于最后的块。
<c:forEach items="${valueTransactionsModel.transactions}" var="transaction" varStatus="loopStatus">
<tr class="${loopStatus.index % 2 == 0 ? 'even' : 'odd'}">
<spring:message code="valueTransactions.transactionType" var="transactionTypeLbl" />
<tags:dropdown id="transactionTypeId${loopStatus.index}" path="transactions['${loopStatus.index}'].valueTransactionType.id"
fieldName="${transactionTypeLbl}" classStyle="mandatory" items="${transactionTypes}" itemLabel="value"/>
</tr>
<tr class="${loopStatus.index % 2 == 0 ? 'even' : 'odd'}">
<spring:message code="valueTransactions.transactionAmount" var="valueTransactionAmountLbl${loopStatus.index}" />
<tags:input id="transactionAmountId${loopStatus.index}"
path="transactions['${loopStatus.index}'].valueTransactionAmount"
fieldName="valueTransactionAmountLbl${loopStatus.index}"
maxlength="30" classStyle="mandatory" />
<spring:message code="valueTransactions.transactionDate"
var="valueTransactionDateLbl${loopStatus.index}" />
<td>
<form:input type="text" path="transactions['${loopStatus.index}'].valueTransactionDate" cssClass="mandatory" value="<fmt:formatDate value="transactions['${loopStatus.index}'].valueTransactionDate" type="date" pattern="yyyy-MM-dd"/>" />
</td>
</tr>
</c:forEach>
不能在另一个JSP标记的属性中使用JSP标记。将日期格式化的结果存储在一个page属性中,并使用这个page属性(就像在Java中使用变量一样):
<fmt:formatDate value="transactions['${loopStatus.index}'].valueTransactionDate"
type="date"
pattern="yyyy-MM-dd"
var="theFormattedDate" />
<form:input type="text" path="..." value="${theFormattedDate}"/>
C++标 准库中没有用于回调的工具,而这种工具显然是需要的。Boost.Signals 使 用了与标准库相同的态度进行设计,它是标准库工具箱的一个杰出的扩展。
本库提供了当前标准库所不具备的功能。在那些对商业逻辑的表示层进行 解耦的框架中,使用泛型回调是非常自然的、常见的。由于C++标 准库不支持保存函数指针和函数对象以供稍后的调用,因此这个工具为标准库提供了非常重要的扩展。而且,本库完全兼容于标准库的绑定器(bind1st 和 bind2nd),就象前面所 讨论过的其它绑定器一样,如 Boost.Bind 和 Boost.Lambda.
这个库用于解决一个使用标准库算法时常会遇见的问题,即需要为了满足算法的要求而定义很多简单的函数对象。几乎所有的标准库算法都有一个接受函数对象的版本,这个函数对象用于执行如排序、等同性检验、转换等操作。标准库通过绑定器 bind1st 和 bind2nd 支持有限的函数组合。但是,它们能做的事情非常有限,它们只能提供参数绑定,而不能绑定表达式。在 Boost.Lambda 库中,既有对绑定参数的灵活
概念上,Bind 是已有的标准库函数 bind1st 和 bind2nd 的泛化,其额外的功能就是允许更为精妙的函数组合。它还减少了对函数指针和类成员指针使用适配器的需要,从而缩短了代码,也减少了出错的机会。Boost.Bind 还包含了对C++标准库的一些常用的扩充,如SGI扩充的 compose1 和 compose2, 还有 select1st 和 select2nd 函数。因此,Bind
Boost.Variant 允许在标准库容器中存储不同的类型。由于在C++或C++标准库中都没有对可变类型的真正支持,这使得 Variant 成为了标准库的一个杰出且有用的扩充。
Any的一个重要特性是,它提供了存储不同类型的对象到标准库容器中的能力。它也是一种可变数据类型,这正是C++标准库非常需要而又缺乏的。