powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / не работает drag&drop от richfaces
7 сообщений из 7, страница 1 из 1
не работает drag&drop от richfaces
    #37647713
rus_sun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал drag&drop от richfaces. Упростил их же пример, но ни дрэга, ни дропа не происходит. Не могу понять в чем дело.
Вот код:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:a4j="http://richfaces.org/a4j"
                xmlns:rich="http://richfaces.org/rich">


    <style>
        .panelc {
            width:25%;
            vertical-align:top;         
        }

        .dropTargetPanel {
            width: 90%;
        }

        .footerClass {
            text-align: center;
            padding-top: 5px;
        }

    </style>

    <rich:dragIndicator id="indicator" />

    <h:form id="form">        
        <h:panelGrid columnClasses="panelc" columns="2" width="100%">
            <rich:panel style="width:133px"> 
                <f:facet name="header">
                    <h:outputText value="Source List" />
                </f:facet>
                <h:dataTable id="src" columns="1" value="#{backBean.names}" var="fm" footerClass="footerClass">
                    <h:column>
                        <a4j:outputPanel style="width:100px;border:1px solid gray;padding:2px" layout="block">
                            <rich:dragSupport dragIndicator=":indicator"
                                              dragType="PHP" dragValue="#{fm}">
                                <rich:dndParam name="label" value="#{fm.name}" />
                            </rich:dragSupport>
                            <h:outputText value="#{fm.name}"></h:outputText>
                        </a4j:outputPanel>
                    </h:column>
                    <f:facet name="footer">
                        <a4j:commandButton action="#{backBean.initNames}" value="Start Over" reRender="src,phptable,cftable,dnettable"/>
                    </f:facet>
                </h:dataTable>
            </rich:panel>

            <rich:panel styleClass="dropTargetPanel">
                <f:facet name="header">
                    <h:outputText value="PHP Frameworks" />
                </f:facet>
                <rich:dropSupport id="php" acceptedTypes="PHP" dropValue="PHP"
                                  dropListener="#{backBean.processDrop}" reRender="phptable, src">
                </rich:dropSupport>
                <h:outputText value="#{person.firstName}"/>
            </rich:panel>
        </h:panelGrid>
    </h:form>
    <a4j:outputPanel ajaxRendered="true">
        <h:messages></h:messages>
    </a4j:outputPanel>
</ui:composition>



Вот упрощенно бэкбин:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@Out(required = false)
    @In(required = false)    
    private DragItem[] names;
    @Factory("names")    
    public void initNames(){
        names = new DragItem[5];               
        names[0]=new DragItem("John");
        names[1]=new DragItem("Peter");
        names[2]=new DragItem("Michael");
        names[3]=new DragItem("Uwe");
        names[4]=new DragItem("Oscar");
    }  
    
    
    public void processDrop(DropEvent e){                   
            DragItem dragItem = (DragItem)e.getDragValue();
            person.setFirstName(dragItem.getName());
    }



вот класс DargItem

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
public class DragItem {
    private String name;
    private int num;
    
    public DragItem(){
    }
    
    public DragItem(String name){
        this.name = name;
    }
    
    public DragItem(String name, int num){
        this.name = name;
        this.num = num;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the num
     */
    public int getNum() {
        return num;
    }

    /**
     * @param num the num to set
     */
    public void setNum(int num) {
        this.num = num;
    }
    
}
...
Рейтинг: 0 / 0
не работает drag&drop от richfaces
    #37648753
rus_sun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rus_sun,

ни у кого никаких идей?
...
Рейтинг: 0 / 0
не работает drag&drop от richfaces
    #37648802
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чуть позже посмотрю, обьясни суть проблемы, что должно быть и что не происходит
...
Рейтинг: 0 / 0
не работает drag&drop от richfaces
    #37649042
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну смотри, ты перетягиваешь айтем из datatable в panel, а панель - это не итеративный компонент, тебе надо перетягивать из одной таблицы в другую, или из таблицы в другой итеративный компонент, к примеру a4j:repeat, или dataGrid..
...
Рейтинг: 0 / 0
не работает drag&drop от richfaces
    #37649055
rus_sun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

о, спасибо, за подсказку! Попробую переделать.
...
Рейтинг: 0 / 0
не работает drag&drop от richfaces
    #37669255
rus_sun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

переделал. НО все равно ничего не происходит.

В логе правда есть сообщения о том, что каких-то библиотек не хватает. Но у меня такое впечатление, что это не влияет, com.sun.facelets.compiler.TagLibraryConfig loadImplicit.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
2012-02-19 14:15:15,000 ERROR [STDERR] 19.02.2012 14:15:14 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jboss-seam-excel.jar!/META-INF/seam-excel.taglib.xml
2012-02-19 14:15:15,005 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jboss-seam-mail.jar!/META-INF/seam-mail.taglib.xml
2012-02-19 14:15:15,012 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jboss-seam-pdf.jar!/META-INF/seam-pdf.taglib.xml
2012-02-19 14:15:15,018 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jboss-seam-rss.jar!/META-INF/seam-rss.taglib.xml
2012-02-19 14:15:15,043 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jboss-seam-ui.jar!/META-INF/s.taglib.xml
2012-02-19 14:15:15,051 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@6a21b2, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@7cb926{ url=null ,addedOrder=0}
2012-02-19 14:15:15,069 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-core.taglib.xml
2012-02-19 14:15:15,080 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-html.taglib.xml
2012-02-19 14:15:15,099 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-ui.taglib.xml
2012-02-19 14:15:15,117 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-core.taglib.xml
2012-02-19 14:15:15,127 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-fn.taglib.xml
2012-02-19 14:15:15,168 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/a4j.taglib.xml
2012-02-19 14:15:15,221 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/rich.taglib.xml
2012-02-19 14:15:15,229 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/jsp.taglib.xml
2012-02-19 14:15:15,238 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/richfaces.taglib.xml
2012-02-19 14:15:15,248 ERROR [STDERR] 19.02.2012 14:15:15 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/Program%20Files/jboss-4.2.3.GA/server/default/tmp/deploy/tmp45923myproject.ear-contents/myproject-exp.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/ajax4jsf.taglib.xml




вот какие библиотеки у меня в deployed-jars-war.list

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
commons-digester.jar
jboss-seam-debug.jar
jboss-seam-excel.jar
jboss-seam-ioc.jar
jboss-seam-mail.jar
jboss-seam-pdf.jar
jboss-seam-rss.jar
jboss-seam-ui.jar
jsf-facelets.jar
jxl.jar
richfaces-impl.jar
richfaces-ui.jar
# You can remove the JARs for themes you aren't using
darkX.jar
glassX.jar
laguana.jar
jfreechart.jar
jcommon.jar



xhtml-файл теперь выглядит вот так

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<rich:dragIndicator id="indicator" />

    <h:form id="form">        
        <h:panelGrid columnClasses="panelc" columns="2" width="100%">


            <rich:panel style="width:133px"> 
                <f:facet name="header">
                    <h:outputText value="Source List" />
                </f:facet>
                <h:dataTable id="src" columns="1" value="#{backBean.names}" var="fm" footerClass="footerClass">
                    <h:column>
                        <a4j:outputPanel style="width:100px;border:1px solid gray;padding:2px" layout="block">
                            <rich:dragSupport dragIndicator=":indicator" dragType="NAME" dragValue="fm">
                                <rich:dndParam name="label" value="#{fm.name}" />
                            </rich:dragSupport>
                            <h:outputText value="#{fm.name}"></h:outputText>
                        </a4j:outputPanel>
                    </h:column>
                    <f:facet name="footer">
                        <a4j:commandButton action="#{backBean.initNames()}" value="Start Over" reRender="src, phptable"/>
                    </f:facet>
                </h:dataTable>
            </rich:panel>

            <rich:panel styleClass="dropTargetPanel">
                <f:facet name="header">
                    <h:outputText value="Goal List" />
                </f:facet>

                <h:dataTable id="phptable" columns="1" value="#{backBean.newNames}" var="fm">
                    <rich:dropSupport id="php" acceptedTypes="NAME" dropValue="fm"
                                      dropListener="#{backBean.processDrop()}" reRender="phptable, src">
                    </rich:dropSupport>

                    <h:column>
                        <h:outputText value="#{fm.name}"></h:outputText>
                    </h:column>
                </h:dataTable>
            </rich:panel>
        </h:panelGrid>
    </h:form>
  



а так java-код

private ArrayList<DragItem> names;
private ArrayList<DragItem> newNames;


@Create
public void initNames() {
setNames((ArrayList<DragItem>) new ArrayList());
getNames().add(new DragItem("John", 0));
getNames().add(new DragItem("Peter", 1));
getNames().add(new DragItem("Michael", 2));
getNames().add(new DragItem("Uwe", 3));
getNames().add(new DragItem("Oscar", 4));

setNewNames((ArrayList<DragItem>) new ArrayList());
}

public void processDrop(DropEvent e) {
String type = e.getDragType();

if (type.equals("NAME")) {
DragItem dragItem = (DragItem) e.getDragValue();

if (dragItem != null) {
getNames().remove(dragItem.getNum());
getNewNames().add(dragItem);
}
}
}
...
Рейтинг: 0 / 0
не работает drag&drop от richfaces
    #37696386
rus_sun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тупо забыл вставить все в f:view. Добавил и все заработало еще и в моем первом варианте.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / не работает drag&drop от richfaces
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]