displaytag,如何整合复选框?

时间:2010-03-02 09:19:31

标签: checkbox struts displaytag

我在列表bean上使用displaytag:utilisateurBean。我需要在此选项卡上添加一列以添加用于选择元素的复选框。

Pb:使用displaytag struts在bean中查找属性choixUtilisateur,而不是formBean。有没有办法让struts / displaytag在表单中映射这个属性?我不理解这涉及的预备层/业务层的组合。

我理解我在bean上进行迭代,并且他在寻找属性。但是我不理解业务层中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="&nbsp;"></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;
    }
...
}

错误:

  

/Administration/acces.jsp。异常:javax.servlet.ServletException:   在对象类型中查找属性“choixUtilisateur”时出错   “xxx.UtilisateurBean”。

1 个答案:

答案 0 :(得分:0)

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>