3

JSF 1.1 で実行されている古いアプリケーションがあり、クライアントの仕様によりアップグレードできません。

JSF 1.1でデータテーブルを作成し、データテーブル行のボタンまたはリンクをクリックすると、ダイアログポップアップが開き、CRUD操作を行うことが可能ですか?

ありがとう

編集 1

Apache Trinidad は JSF 1.1 をサポートしていると思います。Trinidad で CRUD 操作を行うことはできますか?

4

1 に答える 1

1

Richfaces 3.1.6 (JSF 1.1 互換) を優れた A4J と共に使用すると、次のように役立つと思います。

<h:form id="myForm">
<rich:dataTable width="100%" style="border:none;margin-left:15px;" id="tableId" columnClasses="colClass"
            value="#{managedBean.someList}" var="someVar">

    <h:column> some content for this column </h:column>
    <h:column>
           <a4j:commandLink styleClass="linkClass" value="Delete" reRender="myForm:myModal" ajaxSingle="true" oncomplete="#{rich:component('myForm:myModal')}.show()" actionListener="#{managedBean.someMethodToUpdateDTO}">
              <a4j:actionparam value="#{someVar.idForExample}" name="someName"  assignTo="#{managedBean.someDTOObjectToBeUpdated.id}"/>
           </a4j:commandLink>

    </h:column>
</rich:dataTable>

<rich:modalPanel id="panel" width="350" height="100">
    <f:facet name="header">
    <h:panelGroup>
        <h:outputText value="Are you really, really sure to delete this one!!! #{managedBean.someDTOObjectToBeUpdated.name}"></h:outputText>
    </h:panelGroup>
    </f:facet>
    <a4j:commandButton styleClass="btnClass" value="Oui" ajaxSingle="true" oncomplete="#{rich:component('myForm:myModal')}.hide()" reRedner="myForm:tableId" action="#{managedBean.deleteIt}">
</rich:modalPanel>

</h:form>

someMethodToUpdateDTO は、次のようなマネージド Bean のメソッドです。

public void someMethodToUpdateDTO(ActionEvent event){
    //In this method I just load the object from somewhere else
    someDTOObjectToBeUpdated = someDAO.getObject(someDTOObjectToBeUpdated.getId()); 
    //someDTOObjectToBeUpdated is an attribute of your managed bean, of course with its     getter and setter
}

お役に立てれば、

乾杯

于 2013-03-21T22:23:59.977 に答える