displaytag, как интегрировать флажки?
-
23-09-2019 - |
Вопрос
Я использую displaytag в компоненте списка: utilisateurBean
.Мне нужно добавить столбец на этой вкладке, чтобы добавить флажок для выбора элемента.
Pb :С помощью displaytag
struts ищет объект недвижимости choixUtilisateur
в бобе, а не в formBean
.Есть ли способ использовать struts / displaytag для отображения этого свойства в форме?Я не понимаю сочетания уровня предварительной настройки и бизнес-уровня, которое это включает.
Я понимаю, что я выполняю итерацию по компоненту и что он ищет свойство внутри.Но я не понял отображения свойства decorator на бизнес-уровне.
Мой код :
<html:form action="/rechercheUtilisateur"
name="formRechercheUtilisateur"
decorator="org.displaytag.render.DecorateurCheckbox"
type="lan.poujoulat.osac.forms.FormRechercheUtilisateur">
...
<div align="center"><display:table style="width: 100%;"
class="mars" sort="list"
name="formRechercheUtilisateur.listeUtilisateurs"
id="formRechercheUtilisateur.listeUtilisateurs"
decorator="org.displaytag.render.DecorateurCheckbox"
cellspacing="4" cellpadding="2" pagesize="10"
requestURI="rechercheUtilisateur.do" export="true" >
<display:column title="id" property="id" sortable="true"
style="color: black;" headerClass="sortable"></display:column>
...
<display:column media="html" property="choixUtilisateur" title=" "></display:column>
...
</display:table></div>
</html:form>
Тот самый DecorateurCheckbox.java
чтобы добавить флажок на мою вкладку:
public class DecorateurCheckbox extends TableDecorator{
...
public String getChoixUtilisateur()
{
String retour = "";
UtilisateurBean user= (UtilisateurBean) getCurrentRowObject();
int idUser ;
idUser = user.getId();
retour = "<input type='checkbox' name='formRechercheUtilisateur' property='choixUtilisateur' value='"+idUser+"' id='selectedArticle" + idUser + "' />";
return retour;
}
...
}
Ошибка:
/Администрирование/доступ.jsp.Исключение :javax.servlet.Исключение ServletException:Ошибка при поиске свойства "choixUtilisateur" в типе объекта "xxx.UtilisateurBean".
Решение
public class DecorateurCheckbox extends TableDecorator{
public String getChoixUtilisateur()
{
String retour = "";
UtilisateurBean user= (UtilisateurBean) getCurrentRowObject();
int idUser ;
idUser = user.getId();
retour = "<input type='checkbox' name='utilisateurModif' property='choixUtilisateur' value='"+idUser+"' id='" + idUser + "' />";
return retour;
}
}
utilisateurModif - это свойство формы, а choixUtilisateur - свойство displaytag с помощью декоратора :jsp :
<display:column property="choixUtilisateur" title="modif"></display:column>