tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
999
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    calimero calimero ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    Hallo zusammen,

    ich erstelle gerade eine kleine web-applikation in jsf 1.2 inkl. eclipselink-jpa. in einer h:selectOneListBox soll eine kategorie gewählt und mittels commandbutton eine funktion aufgerufen werden, die die ausgewählte kategorie als selektiert setzt und mit dem rückgabewert eine weiterleitung zur nächsten seite einleitet. es funktioniert leider nicht. die funktion wird nicht einmal aufgerufen. wenn ich die selectOneListBox entferne, funktioniert der funktionsaufruf, der rückgabewert leitet erwartungsgemäß auch die weiterleitung ein.

    ich raff einfach net, wo da das problem steckt. hier meine code-schnipsel:
    die jsp-seite
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    <f:view>
        <h:form>
            <h:panelGrid columns="1" border="1">
                <f:facet name="header">
                    <h:outputText value="Poisen" />
                </f:facet>
                <h:column>
                    <h:outputText value="Hauptkategorie wählen" />
                </h:column>
                <h:column>
                    <h:selectOneListbox converter="converterCategory" value="#{categoryAList.current}">
                        <f:selectItems value="#{categoryAList.selectItems}" />
                    </h:selectOneListbox>
                </h:column>
                <h:column>
                    <h:commandButton action="#{categoryAList.selectCategory}" value="Weiter" />
                </h:column>
            </h:panelGrid>
        </h:form>
    </f:view>

    hier die bean:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    public class CategoryAListBean extends ListBean<CategoryA> {
     
        public CategoryAListBean() {
        super();
        setList(pdbb.getCategoriesA());
        current = getList().get(0);
        getListModel().setWrappedData(getList());
        }
     
        public List<SelectItem> getSelectItems() {
        List<SelectItem> selectItems = new ArrayList<SelectItem>();
        for (CategoryA category : pdbb.getCategoriesA()) {
            selectItems.add(new SelectItem(category, category.getTitle()));
        }
        return selectItems;
        }
     
        public String selectCategory() {
        this.current = (CategoryA) getListModel().getRowData();
        return "showCategoriesB";
        }
     
    }

    hier die super-bean:
    Code :
    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
    
    public class ListBean<T> {
        private List<T> list;
        private DataModel listModel;
        protected T current;
        protected POIsenDBBean pdbb;
        protected FacesContext fc;
     
        public ListBean() {
        fc = FacesContext.getCurrentInstance();
        pdbb = (POIsenDBBean) fc.getApplication().evaluateExpressionGet(fc,
            "#{poisenDB}", POIsenDBBean.class);
        setListModel(new ListDataModel());
        }
     
        public T getCurrent() {
        return current;
        }
     
        public void setCurrent(T obj) {
        this.current = obj;
        }
     
        public List<T> getList() {
        return list;
        }
     
        public void setList(List<T> list) {
        this.list = list;
        getListModel().setWrappedData(list);
        }
     
        public void setListModel(DataModel listModel) {
        this.listModel = listModel;
        }
     
        public DataModel getListModel() {
        return listModel;
        }
     
        public int getLength() {
        return this.list.size();
        }
     
    }

    hier der converter:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    public class ConverterCategory implements Converter {
     
        public Object getAsObject(FacesContext fc, UIComponent uic, String str)
            throws ConverterException {
        POIsenDBBean pdbb = (POIsenDBBean) fc.getApplication()
            .evaluateExpressionGet(fc, "#{poisenDB}", POIsenDBBean.class);
        return pdbb.getCategoryA(Integer.parseInt(str));
        }
     
        public String getAsString(FacesContext fc, UIComponent uic, Object o)
            throws ConverterException {
        CategoryA categoryA = (CategoryA) o;
        return String.valueOf(categoryA.getId());
        }
     
    }

    und hier der html-sourcecode:
    Code :
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>POIsen - Choose Main-Category</title>
    </head>
    <body>
    <form id="j_id_jsp_1210723754_1" name="j_id_jsp_1210723754_1" method="post" action="/POIsen/categoryA.faces" enctype="application/x-www-form-urlencoded">
    <table border="1">
        <thead>
            <tr>
                <th scope="colgroup" colspan="1">Poisen</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Hauptkategorie wählen</td>
            </tr>
            <tr>
                <td><select name="j_id_jsp_1210723754_1:j_id_jsp_1210723754_7" size="8">
                    <option value="1" selected="selected">Transport &amp; Verkehr</option>
                    <option value="2">Medizin</option>
                    <option value="3">Reise &amp; Hotel</option>
                    <option value="4">Freizeit</option>
                    <option value="5">Einkaufen</option>
                    <option value="6">Öffentliche Einrichtung</option>
                    <option value="7">Dienstleistung</option>
                    <option value="8">Gastronomie</option>
                </select></td>
            </tr>
     
            <tr>
                <td><script type="text/javascript"><!--
     
     
        function oamSetHiddenInput(formname, name, value)
        {
            var form = document.forms[formname];
            if (typeof form == 'undefined')
            {
                form = document.getElementById(formname);
            }
            
            if(typeof form.elements[name]!='undefined' && (form.elements[name].nodeName=='INPUT' || form.elements[name].nodeName=='input'))
            {
                form.elements[name].value=value;
            }
            else
            {
                var newInput = document.createElement('input');
                newInput.setAttribute('type','hidden');
                newInput.setAttribute('id',name);
                newInput.setAttribute('name',name);
                newInput.setAttribute('value',value);
                form.appendChild(newInput);
            }
            
        }
        
        
        function oamClearHiddenInput(formname, name, value)
        {
            var form = document.forms[formname];
            if (typeof form == 'undefined')
            {
                form = document.getElementById(formname);
            }
            
            var hInput = form.elements[name];
            if(typeof hInput !='undefined')
            {
                form.removeChild(hInput);
            }
            
        }
        
        function oamSubmitForm(formName, linkId, target, params)
        {
            
            var clearFn = 'clearFormHiddenParams_'+formName.replace(/-/g, '\$:').replace(/:/g,'_');
            if(typeof window[clearFn] =='function')
            {
                window[clearFn](formName);
            }
            
            if(typeof window.getScrolling!='undefined')
            {
                oamSetHiddenInput(formName,'autoScroll',getScrolling());
            }
            
            var form = document.forms[formName];
            if (typeof form == 'undefined')
            {
                form = document.getElementById(formName);
            }
            
            var oldTarget = form.target;
            if(target != null)
            {
                
                form.target=target;
            }
            if((typeof params!='undefined') && params != null)
            {
                
                for(var i=0, param; (param = params[i]); i++)
                {
                    oamSetHiddenInput(formName,param[0], param[1]);
                }
                
            }
            
            oamSetHiddenInput(formName,formName +':'+'_idcl',linkId);
            
            if(form.onsubmit)
            {
                var result=form.onsubmit();
                if((typeof result=='undefined')||result)
                {
                    try
                    {
                        form.submit();
                    }
                    catch(e){}
                }
                
            }
            else 
            {
                try
                {
                    form.submit();
                }
                catch(e){}
            }
            
            form.target=oldTarget;
            if((typeof params!='undefined') && params != null)
            {
                
                for(var i=0, param; (param = params[i]); i++)
                {
                    oamClearHiddenInput(formName,param[0], param[1]);
                }
                
            }
            
            oamClearHiddenInput(formName,formName +':'+'_idcl',linkId);return false;
        }
        
     
    //--></script><input id="j_id_jsp_1210723754_1:j_id_jsp_1210723754_10" name="j_id_jsp_1210723754_1:j_id_jsp_1210723754_10" type="submit" value="Weiter"
                    onclick="if(typeof window.getScrolling!='undefined'){oamSetHiddenInput('j_id_jsp_1210723754_1','autoScroll',getScrolling());}" /> <input type="hidden" name="autoScroll" /> <input
                    id="j_id_jsp_1210723754_1:j_id_jsp_1210723754_11" name="j_id_jsp_1210723754_1:j_id_jsp_1210723754_11" type="submit" value="showCategoriesB"
                    onclick="if(typeof window.getScrolling!='undefined'){oamSetHiddenInput('j_id_jsp_1210723754_1','autoScroll',getScrolling());}" /></td>
            </tr>
        </tbody>
    </table>
    <input type="hidden" name="j_id_jsp_1210723754_1_SUBMIT" value="1" /><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState"
        value="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" /></form>
    </body>
    </html>

    das java-script ist von tomahawk. wenn ich tomahawk aus dem build-path entferne, ist auch javascript weg, aber das problem bleibt.

    ich hab wirklich alles möglich versucht, aber es will net. wäre euch sehr verbunden, wenn ihr eine lösung hättet, bzw. die fehler findet.

    ach ja, die umgebung:
    myfaces 1.2.9
    jstl 1.1
    tomahawk12 1.1.9
    Geändert von calimero (20.06.10 um 10:27 Uhr)
     

  2. #2
    calimero calimero ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    darf man pushen? ich tus mal...
     

  3. #3
    Avatar von Sentoo
    Sentoo Sentoo ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Brühl
    Beiträge
    131
    Ist eigentlich fast fertig. Also, der ausgewählte Wert der h:selectOneListbox landet in dem Bean-Property, dass Du mit value angegeben hast. In deinem Beispiel steht ja
    Code :
    1
    2
    3
    
    <h:selectOneListbox converter="converterCategory" value="#{categoryAList.current}">
       <f:selectItems value="#{categoryAList.selectItems}" />
    </h:selectOneListbox>
    Also landet der eine ausgewählte Wert in dem Property value="#{categoryAList.current}". Das Property musst Du dann in deiner action verwenden.

    Das was du mit dem this.current = (CategoryA) getListModel().getRowData(); versuchst, brauchst Du gar nicht machen. Das value binding erledigt JSF für Dich. Der ausgewählte Wert landet von alleine da wo er sein soll.
    Code java:
    1
    2
    3
    4
    5
    6
    
    public String selectCategory() {
       System.out.println(this.current); // Da ist magisch der korrekt Wert gelandet.
       this.current = (CategoryA) getListModel().getRowData(); // hier überschreibst Du ihn.
       System.out.println(this.current); // Jetzt ist der Wert unerwartet.
       return "showCategoriesB";
    }
     

  4. #4
    Avatar von Sentoo
    Sentoo Sentoo ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Brühl
    Beiträge
    131
    Ah, den converter habe ich übersehen. Hast du mal einen h:messages tag auf der JSP Seite platziert? Ganz oben am besten. Könnte sein, dass dein Converter aussteigt, aber das siehst Du ohne h:messages nicht.
     

  5. #5
    calimero calimero ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    danke erst mal, super, das du drüber geschaut hast.
    hab deinen rat befolgt und ein h:messages eingefügt und erhalte dann dort:
    j_id_jsp_1607678831_1:j_id_jsp_1607678831_9: Validierungsfehler: Wert ist keine gültige Auswahl

    ich gucke selber, aber vielleicht weisst du ja, auf was sich der validierungsfehler bezieht?

    danke

    ps.: hab grad nach der fehlermeldung gesucht und bin darauf gestossen, dass die klasse eine equals-methode bruacht. teste ich grad mal.
    Geändert von calimero (24.06.10 um 10:07 Uhr)
     

  6. #6
    calimero calimero ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANNNNKEEEEEEEEEEE...

    das wars. das equals hat gefehlt!

    danke nochmal fürs damit beschäftigen und vor allem für den tipp mit den messages. auch das doppelte setzen war überflüssig
    Geändert von calimero (24.06.10 um 10:17 Uhr)
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 18.04.10, 10:54
  2. ppt command button als hyperlink
    Von schwanni im Forum Office-Anwendungen
    Antworten: 2
    Letzter Beitrag: 22.12.05, 10:08
  3. radio Button (Funktionsaufruf)
    Von LoMo im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 12.04.05, 11:50
  4. IdTCPClient - Kein OnExecute Command?
    Von Dr Phil im Forum Delphi, Kylix, Pascal
    Antworten: 7
    Letzter Beitrag: 28.04.04, 20:09
  5. zufälligen/variablen command-Button?
    Von FlixXxer im Forum Visual Basic 6.0
    Antworten: 16
    Letzter Beitrag: 19.11.03, 17:49