java-如何使用#{field’variable’}

我阅读了文档http://www.playframework.org/documentation/1.1/tags#ageta,但没有理解.

有人可以提供更好,更容易理解的示例吗?

解决方法:

从本质上讲,这是一种避免重复复制和粘贴一堆HTML,然后更改其中的十二个小细节的方法.

他们在文档中给出的初始示例(我知道您已经阅读了,但是为了便于参考,在此引用):

<p>
  <label>&{'user.name'}</label>
  <input type="text" id="user_name" name="user.name" value="${user?.name}" class="${errors.forKey('user.name') ? 'has_error' : ''}">
  <span class="error">${errors.forKey('user.name')}</span>
</p>

如果您想从页面上的标记开始,然后向表单添加第二个字段,则必须复制/粘贴整个块,然后更改& {‘user.name’},user_name,user.name, ${user?.name},user.name和user.name(每个对同一基本字段的单独引用)只是为了使新标记适用于您的新字段.

这只是我们中有些人愿意承担的,只是将字段添加到织补表单中而已.

替换#{field’foo’}可以这样:

#{field 'user.name'}
<p>
  <label>&{field.name}</label>
  <input type="text" id="${field.id}" name="${field.name}" value="${field.value}" class="${field.errorClass}">
  <span class="error">${field.error}</span>
</p>
#{/}

这样做的好处是user.name恰好出现在一个地方.如果要复制/粘贴此标记以添加其他字段,则只需替换一个即可:#{field …}标签中的替换内容.

最终结果是,您无需为标签,名称,ID,当前值,错误消息,类等进行大量容易出错的手动替换,就可以更轻松地为表单上的许多字段开发标准标记.

上一篇:使用自定义双括号格式的Python模板安全替换


下一篇:Django静态文件加载问题