[jboss-user] [Tomcat, HTTPD, Servlets & JSP] - Datamodel - I get no data from the Datamodel
Ceene
do-not-reply at jboss.com
Wed Jun 11 05:11:50 EDT 2008
Hi folks
I have a big Problem with my DataModel and DataTable.
I show my datas with the DataTable and the DataModel. I can show the datas without any problem but if i try to get the selected rownumber with the method "getRowIndex" I get a "-1" back but I don't know why.
I hope someone can help me with the problem.
Here my xhtml-Page (not all):
| <fieldset class="usrFormPos">
| <legend>Anzahl gefundener Sätze: #{strhdl.datamodel.rowCount}</legend>
| <h:dataTable value="#{strhdl.datamodel}" var="str"
| headerClass="usrDataHeader"
| rowClasses="usrDataRow1,usrDataRow2"
| columnClasses="usrDataColScore,usrDataColPlz,usrDataColOrt,usrDataColStr,usrDataColHsBreich,usrDataColOrt">
| <h:column>
| <f:facet name="header">
| <h:outputLabel value="%"/>
| </f:facet>
| <h:outputText value="#{str.score}" />
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:outputLabel value="Plz"/>
| </f:facet>
| <h:outputText value="#{str.plz}" />
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:outputLabel value="Ort"/>
| </f:facet>
| <h:outputText value="#{str.ort}" />
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:outputLabel value="Straße"/>
| </f:facet>
| <h:outputText value="#{str.strasse}" />
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:outputLabel value="Hsnr.-Ber."/>
| </f:facet>
| <h:outputText value="#{str.hsnrbereich}" />
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:outputLabel value="Ortsteil"/>
| </f:facet>
| <h:outputText value="#{str.ortsteil}" />
| </h:column>
| <h:column>
| <s:button value="ok" action="#{strhdl.select}" styleClass="usrFormSubmitOk"/>
| </h:column>
|
| </h:dataTable>
| </fieldset>
| </h:form>
| </body>
| </html>
|
An here my Handler:
| import java.util.ArrayList;
| import java.util.List;
|
| import javax.ejb.*;
| import javax.faces.context.FacesContext;
| import javax.faces.model.DataModel;
| import javax.faces.model.ListDataModel;
| import javax.faces.event.ValueChangeEvent;
| import org.jboss.seam.log.Log;
| import org.jboss.seam.annotations.*;
| import org.jboss.seam.ScopeType;
| import org.jboss.seam.core.FacesMessages;
| import hwplz_d.ejb.HWplz_DBeanRemote;
| import hwname_pd.ejb.HWname_PDBeanRemote;
| import tcdlgejb.*;
| import tcdlgsbi.*;
|
|
| @Stateful
| @Name("strhdl")
| @Scope(ScopeType.EVENT)
| public class StrasseHandler implements StrasseHandlerLocal {
|
| static private String inStr;
| static private String inPlz;
| static private String inOrt;
|
| @EJB
| private KundeHandlerLocal kundehdl;
|
| @EJB
| private HWplz_DBeanRemote hwplz_d;
|
| @EJB
| private HWname_PDBeanRemote hwname_d;
|
| @EJB
| private ToolRemote toolBean;
|
| @Logger
| private Log log;
|
| private Kunde kunde;
| private DataModel datamodel_in;
| private static DataModel datamodel;
| private int rowIndex = -2;
|
| // ----------------------------------------------------------------------------------
| /**
| * Rückgabe der gefundenen Straßen
| * @return datamodell
| */
| public DataModel getDatamodel() {
|
| if(datamodel == null) {
| datamodel = new ListDataModel();
| datamodel.setWrappedData(getStrassenListe());
| }
| return datamodel;
| }
| // ----------------------------------------------------------------------------------
| /**
| * Straßen in Liste übernehmen
| * @return List der Strassen
| */
| private List getStrassenListe() {
|
| String h_ort = "";
| String h_str = "";
| String h_hsber = "";
|
| List getStrassenListe = new ArrayList();
|
| try {
| // Alle Strassen aus der Bean in die Liste übernehmen
| for (int i=1;i < Integer.parseInt(hwplz_d.getAnzAuswahl());i++) {
|
| //log.info(hwplz_d.getOrtInaktiv(i));
|
| // Ortstext ev. verkettet?
| if (hwplz_d.getOrtInaktiv(i).length() != 0)
| h_ort = hwplz_d.getOrtInaktiv(i) + " -> " + hwplz_d.getOrtKurz(i);
| else
| h_ort = hwplz_d.getOrtKurz(i);
|
| // Straßentext ev. verkettet?
| if (hwplz_d.getStrasseInaktiv(i).length() != 0)
| h_str = hwplz_d.getStrasseInaktiv(i) + " -> " + hwplz_d.getStrasseKurz(i);
| else
| h_str = hwplz_d.getStrasseKurz(i);
|
| // Hausnummernbereich oder Postfachnummer-Bereich ev. verkettet
| if (hwplz_d.getHausnrBereichInaktiv(i).length() != 0)
| h_hsber = hwplz_d.getHausnrBereichInaktiv(i) + " -> " + hwplz_d.getHausnrBereich(i);
| else if (hwplz_d.getHausnrBereich(i).length() != 0)
| h_hsber = hwplz_d.getHausnrBereich(i);
| else if (hwplz_d.getPostfachBereich(i).length() != 0)
| {
| h_hsber = hwplz_d.getPostfachBereich(i).substring(0,6) + " - " +
| hwplz_d.getPostfachBereich(i).substring(6,12);
| }
|
| // Werte in die Liste übernehmen
| getStrassenListe.add(new Strasse(hwplz_d.getPunkte(i), hwplz_d.getPLZ(i), hwplz_d.getPLZTyp(i),
| h_ort, h_str, h_hsber, hwplz_d.getOrtsteil(i)));
| }
| }
| catch (Exception e) {
| log.info("Fehler in getStrassenListe()!");
| e.printStackTrace();
| };
| return getStrassenListe;
| }
| // ----------------------------------------------------------------------------------
| /*
| * Rückgabe der eingegebenen Straße
| */
| public DataModel getStrasseIn() {
|
| if(datamodel_in == null) {
| datamodel_in = new ListDataModel();
| datamodel_in.setWrappedData(getStrasseInListe());
| }
| return datamodel_in;
| }
| // ----------------------------------------------------------------------------------
| /**
| * Eingegebene Straße in Liste übernehmen
| * @return List der Strassen
| */
| private List getStrasseInListe() {
|
| List getStrasseInListe = new ArrayList();
|
| try {
| getStrasseInListe.add(new Strasse(" ",inPlz,"u",inOrt,inStr," "," "));
| }
| catch (Exception e) {
| log.info("Fehler in getStrassenInListe()!");
| e.printStackTrace();
| };
| return getStrasseInListe;
| }
| // ----------------------------------------------------------------------------------
| /**
| * @return rowIndex
| */
| public int getSelectedRowIndex() {
| return rowIndex;
| }
| // ----------------------------------------------------------------------------------
| /**
| * Ausgewählte Werte werden übernommen
| * @return Link zu einer anderen Seite
| */
| public String select() {
| int test;
|
| System.out.println("DWS");
| try {
| System.out.println("DWS1");
| kunde = kundehdl.getSelectedKunde();
|
| test = datamodel.getRowIndex();
| }
| catch (Exception e) {
| log.info("Fehler in select()!");
| e.printStackTrace();
| };
| //System.out.println(rowIndex);
| return "/kunden/kunde-bearbeiten.xhtml";
| }
| // ----------------------------------------------------------------------------------
| public void strtextChanged (ValueChangeEvent vce) {
| if (vce.getOldValue() != vce.getNewValue()) {
|
| // Der Listener liegt hinter den Feldern Straße, Ort und PLZ.
| // D.h., wenn sich in einem der 3 Felder der Wert ändert, wird
| // das Flag gesetzt.
| toolBean.setAFlag(1);
| log.info("1");
| }
| }
| // ----------------------------------------------------------------------------------
| public void strtextChangedHWname (ValueChangeEvent vce) {
| if (vce.getOldValue() != vce.getNewValue()) {
|
| // Der Listener liegt hinter den Feldern Straße, Ort und PLZ.
| // D.h., wenn sich in einem der 3 Felder der Wert ändert, wird
| // das Flag gesetzt.
| log.info("HWname");
| }
| }
| // ----------------------------------------------------------------------------------
| /**
| * HWname Abgleich durchführen
| * @param selectedKunde
| */
| public void hwname_abgleich(Kunde selectedKunde) {
| String hwname_outStatus;
| String eingabeName = "";
| String nachname;
|
| try
| {
| hwname_d.setEinLenAdrname(30);
| hwname_d.setEinLenPersanrede(30);
| hwname_d.setEinSteuerung("KV");
| if(selectedKunde.getTitel_V() != "")
| {
| if(selectedKunde.getTitel_V() != null)
| {
| eingabeName = selectedKunde.getTitel_V() + " ";
| }
| }
| if(selectedKunde.getVorname() != "")
| {
| if(selectedKunde.getVorname() != null)
| {
| eingabeName+= selectedKunde.getVorname() + " ";
| }
| }
| if(selectedKunde.getTitel_Z() != "")
| {
| if(selectedKunde.getTitel_Z() != null)
| {
| eingabeName+= selectedKunde.getTitel_Z() + " ";
| }
| }
| if(selectedKunde.getAdelspraedikat() != "")
| {
| if(selectedKunde.getAdelspraedikat() != null)
| {
| eingabeName+= selectedKunde.getAdelspraedikat() + " ";
| }
| }
| if(selectedKunde.getNachname() != "")
| {
| if(selectedKunde.getNachname() != null)
| {
| eingabeName+= selectedKunde.getNachname() + " ";
| }
| }
| if(selectedKunde.getNachsatzwort() != "")
| {
| if(selectedKunde.getNachsatzwort() != null)
| {
| eingabeName+= selectedKunde.getNachsatzwort();
| }
| }
| hwname_d.setEinName(eingabeName);
| int tmp = Integer.parseInt(hwname_d.Do_HWname_PD());
| if(tmp <= 31)
| {
| selectedKunde.setVorname(hwname_d.getNormVorname(0,0));
| nachname = hwname_d.getNormNachname1(0);
| String dummy = hwname_d.getNachname1(0);
| int t = dummy.length()-1;
| int z = dummy.length();
| if(dummy.substring(t,z).equals("-"))
| {
| nachname += "-";
| }
| else if(hwname_d.getNormNachname2(0)!= "")
| {
| nachname += " ";
| }
| nachname +=hwname_d.getNormNachname2(0);
| selectedKunde.setNachname(nachname);
| selectedKunde.setAdelspraedikat(hwname_d.getNormAdelspraedikat1(0));
| selectedKunde.setNachsatzwort(hwname_d.getNormNachsatzwort(0));
|
| for(int i = 0; i<=4; i++)
| {
| String test = hwname_d.getPositionTitel(0,i);
| if(hwname_d.getPositionTitel(0,i).equals("V"))
| {
| selectedKunde.setTitel_V(hwname_d.getNormTitel(0,i));
| }
| else if(hwname_d.getPositionTitel(0,i).equals("Z"))
| {
| selectedKunde.setTitel_Z(hwname_d.getNormTitel(0,i));
| }
| }
| }
| else
| {
|
| }
| }
| catch (Exception e) {
| e.printStackTrace();
| }
| toolBean.setAFlag(0);
|
| }
| // ----------------------------------------------------------------------------------
| /**
| * HWplz Abgleich durchführen
| * @param selectedKunde
| * @return Link zu einer anderen Seite
| */
| public String hwplz_abgleich(Kunde selectedKunde) {
|
| String hwplz_d_outStatus;
|
| // Muss ein Abgleich durchgeführt werden?
| if (toolBean.getAFlag() == 1) {
|
| try {
| hwplz_d.setSchwellwert("80");
| hwplz_d.setMaxAuswahl("100");
| hwplz_d.setSteuerung("K ");
| hwplz_d.setPLZ(selectedKunde.getPlz());
| hwplz_d.setOrt(selectedKunde.getOrt());
| hwplz_d.setStrasse(selectedKunde.getStrasse_Hsnr());
|
| // Werte für das Anzeigen der Eingabe speichern
| inPlz = selectedKunde.getPlz();
| inOrt = selectedKunde.getOrt();
| inStr = selectedKunde.getStrasse_Hsnr();
|
| hwplz_d_outStatus = hwplz_d.Do_HWplz_D();
|
| // Wurde ein eindeutiger Satz gefunden?
| if (Integer.parseInt(hwplz_d_outStatus) < 100 && Integer.parseInt(hwplz_d_outStatus) != 30 &&
| (hwplz_d.getAnschriftArt(1) == "V" || Integer.parseInt(hwplz_d.getPunkte(1)) >= 90)) {
|
| selectedKunde.setStrasse_Hsnr(hwplz_d.getStrasseKurz(1) + " " +
| hwplz_d.getHausnrFormat(1));
| selectedKunde.setPlz(hwplz_d.getPLZ(1));
| selectedKunde.setOrt(hwplz_d.getOrtLang(1));
| selectedKunde.setOrtsteil(hwplz_d.getOrtsteil(1));
| }
| else if (Integer.parseInt(hwplz_d_outStatus) == 30) {
| FacesMessages.instance().add("Hausnummer falsch oder nicht angegeben!");
| selectedKunde.setAdressen_Sperre("Z");
| }
| else
| {
| return "/kunden/strassen-auswahl.xhtml";
| }
| }
| catch (Exception e) {
| e.printStackTrace();
| };
| toolBean.setAFlag(0);
| }
| return "";
| }
| // ----------------------------------------------------------------------------------
| @Destroy
| @Remove
| public void destroy() {
| }
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4157262#4157262
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4157262
More information about the jboss-user
mailing list