Я прочитал документацию http://www.playframework.org/documentation/1.1/tags#ageta, и я не понимаю.Как использовать # {поле 'variable'}
Может ли кто-нибудь предоставить лучший, более простой для понимания пример?
Я прочитал документацию http://www.playframework.org/documentation/1.1/tags#ageta, и я не понимаю.Как использовать # {поле 'variable'}
Может ли кто-нибудь предоставить лучший, более простой для понимания пример?
Это, по сути, способ избежать многократного копирования и вставки кучи HTML, а затем изменения дюжины мелких деталей в нем.
Исходным примером они дают в документации (которую я знаю, что вы читали, но I'l процитировать здесь для простоты ссылки) заключается в следующем:
<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 ...}
.
Конечным результатом является то, что для многих полей формы вы можете разработать стандартную разметку, не требуя при этом ручной замены заметок, имен, идентификаторов, текущих значений, сообщений об ошибках, классов, и т. д.
Теперь я понял, это прокси - Спасибо! –