有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaJSF1.1数据表CRUD操作

我们有一个运行JSF1.1的旧应用程序,由于客户端规范,无法升级

我想知道是否可以使用JSF1.1创建一个datatable,并在单击datatable行中的按钮或链接时打开一个弹出对话框并执行CRUD操作

谢谢

编辑1

我想ApacheTrinidad支持JSF1.1。我能和特立尼达做积垢手术吗


共 (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
    }
    

    希望这有帮助

    干杯