Autor Thema: Java Web Frameworks  (Gelesen 19372 mal)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Web Frameworks
« Antwort #20 am: 02.07.07 - 13:19:47 »
Wenn nichts auf der Seite steht, steht meistens was im logfile.
access muss irgendwo im Request oder Session-Scope gebunden sein.
Probeweise kannst du auch testen, ob nicht vielleicht das access Objekt null ist.

Code
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

<f:view>
<h1>Display Access Models</h1>
<h:outputText value="#{accessItem}" />
</f:view>
« Letzte Änderung: 02.07.07 - 13:24:40 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Java Web Frameworks
« Antwort #21 am: 02.07.07 - 14:34:07 »
das access-Objekt ist eine managed-bean im request-Scope:
Code
<managed-bean>
		<managed-bean-name>access</managed-bean-name>
		<managed-bean-class>com.ext.portlet.access.ui.AccessBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
                                <managed-property>
			<property-name>accessNo</property-name>
			<value>&lt;accessNo&gt;</value>
		</managed-property>
</managed-bean>

Hier ist die index.jsp, da klappt alles wie gewünscht:
Code
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

<f:view>
	<h1><h:outputText value="Zutrittsverwaltung JSF Portlet" /></h1>

	<h3><h:outputText value="Add an access entry to the database:" />
	</h3>

	<h:form>
		<h:messages />

		<br />
		<h:outputText value="Access Model:" />
		<h:inputText id="accessNo" value="#{access.accessNo}" required="true" />
		
		<br />
		<br />
		<h:commandButton value="Add access"
			actionListener="#{access.addAccess}" />
		<br />
		<h:commandButton action="#{access.displayAccessEntries}" value="Display Access Models" 	immediate="true" />
	</h:form>
</f:view>

access.displayAccessEntries liefert den String "success", der wiederum zur Seite display_access_entries.jsp navigiert. Das scheint auch noch zu klappen.
Dort soll der Datentable dann so gefüllt werden:

Code
<h:dataTable headerClass="portlet-section-header"
rowClasses="portlet-section-body,portlet-section-header-alternate"
value="#{access.getAllAccessEntries}" var="accessItem">

Die Variable accessItem kommt nur in ideser Datei vor, muss ich die noch irgendwo anders deklarieren? Ich dachte, dass der dataTable automatisch die var=-Variable verwaltet und befüllt.

Meine AccessBean sieht so aus:

Code
...
public void addAccess(ActionEvent actionEvent) {
		FacesContext facesContext = FacesContext.getCurrentInstance();
		try {
			AccessEntryLocalServiceUtil.addAccess(getAccessNo(), getEmployeeId());
		} catch (Exception e) {
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error adding access.", e.toString());
			facesContext.addMessage(null, message);
			e.printStackTrace();
			return;
		} 
		FacesMessage message = new FacesMessage(getAccessNo() + " was added successfully.");
		facesContext.addMessage(null, message);
		setAccessNo("");
	}
	public String displayAccessEntries() {
		return "success";
	}
	public List getAllAccessEntries() {
		List accessEntries = new ArrayList();
		try {
			accessEntries = AccessEntryLocalServiceUtil.getAll();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return accessEntries;
	}
...
sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Web Frameworks
« Antwort #22 am: 02.07.07 - 14:40:16 »
Muss es nicht heissen:

value="#{access.allAccessEntries}" var="accessItem">?
Ohne get?
Kannst du nicht Generics Listen verwenden Java5?
List<t>

Du kannst auch an verschiedenen Punkten breakpoints setzen und dann schauen wo genau der Fehler auftritt.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Java Web Frameworks
« Antwort #23 am: 02.07.07 - 14:57:30 »
das mit access.allAccessEntries hört sich gut an, wäre analog zu meiner Vorlage. Wo ist denn die Eigenschaft allAccessEntries definiert? Steckt das irgendwo in den automatisch generierten Wrappern?
sagt Mark.



slowfood.de

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Java Web Frameworks
« Antwort #24 am: 02.07.07 - 15:00:22 »
weitere Probleme sind noch, dass irgendwelche Appenders für Log4j nicht gefunden werden und alle Logs in die Konsole gehen, daher fehlen mir ständig genaue Fehlermeldungen.
Hab schon ne log4j.xml gefunden und da appender angehängt für Textdatei, wird aber nicht genutzt.
Und er findet keine Resource bundle für mich, Locale name null or empty, ignoring

sagt Mark.



slowfood.de

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Java Web Frameworks
« Antwort #25 am: 02.07.07 - 15:16:15 »
access.allAccessEntries klappt auch nicht (muss aber trotzdem korrekt sein)
Der Fehler muss irgendwo anders liegen, vielleicht gehen beim navigieren im Portlet die Relationen kaputt oder die Rechte des Testusers stimmen dann nicht mehr oder so. Die Seite wird gar nicht angezeigt, auch nicht, wenn ich prüfen will ob ein Objekt null ist. Ich schau mal wie ich debugge...
sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Web Frameworks
« Antwort #26 am: 02.07.07 - 15:52:13 »
1.
Das Ressources Bundle hab ich im faces-config.xml deklariert:
Code
 
<application>
...       
<locale-config>
      <default-locale>de_DE</default-locale>
      <supported-locale>de</supported-locale>
      <supported-locale>en</supported-locale>
    </locale-config>
   
<message-bundle>my-messages</message-bundle>
...
  </application> 
my_messages.properties befindet sich dann im ROOT der Webanwendung (nicht in Web-Inf).

2. log4j.properties oder log4j.xml müssen ebenfalls im ROOT der Webanwendung liegen.

3. Debugging: Ich mach das mit myEclipse. Sollte aber auch mit Eclipse-WTP gehen.
Eine andere Möglichkeit ist das hier (hab ich auch schon gemacht):
http://tomcat.apache.org/faq/development.html
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Web Frameworks
« Antwort #27 am: 02.07.07 - 17:48:36 »
Also Debugging muss eigentlich immer drin sein. Kannst du mal deine Entwicklungsumgebung beschreiben: Ich tippe auf Eclipse WTP. Oder machst du das irgendwie anders  ???
Ich bin bestimmt 20% meiner Zeit mit strategischen Überlegungen über die korrekte Zusammenstellung an Eclipse Plug-ins, junit-Erweiterung bzw. endlich junit durch testng zu ersetzen, testen neuer Eclipse plug-ins, subversion verwalten, evaluieren von Akzeptanz-Test Tools etc. beschäftigt. Das ist keine verlorene Zeit, da mal ein bischen strategisch an die Sache zu gehen.
Dann gibts noch maven-aficionados und cobertura-Jünger, die imho 50% ihrer Zeit an ihrer Entwicklungsumgebung rumschrauben. Die haben dann meist auch in Eclipse ihr eigenes Code-Farbschema, so dass da jedes keyword in einer anderen speziellen Farbe des Regenbogens erscheint. Ich find das ein bischen übertrieben. Aber 20% ist schon Minimum.
« Letzte Änderung: 02.07.07 - 18:15:16 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Java Web Frameworks
« Antwort #28 am: 02.07.07 - 19:30:12 »
ich habe mich diesmal sehr eng an die Entwicklungsumgebung des 'EXT'-Systems von LifeRay 4.2.2 gehalten, also Eclipse 3.2 mit WTP. Allerdings wird in den Anleitungen in der Java-Perspektive entwickelt. Eigentlich müsste doch die J2EE-Perspektive geeigneter sein, oder? Und der Tomcat wird automatisch mit ANT aufgesetzt und nicht unter Eclipse gestartet, sonst gibt es bei einigen Leuten Probleme beim Deployen mit ANT.
Ich muss nach jeder Änderung zwei ANT-Tasks laufen lassen, einmal die EJBs compile und deploy, dann die ganze Webseite noch deployen. Der erste Task diploit auch schon, aber das reicht scheinbar nicht, ich blick da nicht durch, geht halt sehr viel hinter den Kulissen ab.
Wirklich genial ist aber, dass man die Datenobjekte nur in einer service.xml deklariert und dann mit ANT build-service alle DAOs und Wrappers und Hibernate etc automatisch generiert, ebenso die SQL-Skripte, um die Tabellen anzulegen.
Morgen schaue ich mal, wie ich debugge, geht sicher mit meiner Konfiguration.
Ist dein Projekt schon auf Google Code zu sehen? Da werde ich dann auf jeden Fall auch mal reinschauen, sollte mir einiges dann schon bekannt vorkommen. Hab mir 'Effective Java' bestellt, müsste morgen ankommen. Ich bin ja immer noch totaler Anfänger was Java betrifft  ;D Aber LifeRay ist wirklich super, solltest du auch mal ein Auge drauf werfen.
sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Web Frameworks
« Antwort #29 am: 02.07.07 - 22:58:17 »
In einem myEclipse Webprojekt kann ich in den Projekteigenschaften einen Server zum Deployment angeben. Und dann starte ich aus der MyEclipse J2EE Perspektive den per Knopfdruck im Debug-Mode. In dem Projekt kann ich dann break-points setzen. Änderungen werden direkt automatisch auf den Server deployed. Ich kann sogar die JSF Dateien ändern ohne den Server neu zu starten. Vom Gefühl her ist das dann auch nicht anders als debugging von Notes Agenten. Eclipse WTP besitzt ähnliche Features. Ich find aber myEclipse zwar nicht berauschend aber irgendwie besser. Kostet ca. 80 Dollar und man bekommt für 1 Jahr alle updates.
Ein Vorteil von MyEclipse ist auch, dass da bereits ein paar Spring- und Hibernate-plug-ins dabei sind. Das heisst die Bean Container Definition application.xml und die hibernate Mappings werden validiert und Fehler frühzeitig angezeigt. Sehr praktisch. Natürlich kann man sich die plug-ins auch alle per Hand zusammenmixen.
« Letzte Änderung: 02.07.07 - 22:59:51 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Web Frameworks
« Antwort #30 am: 03.07.07 - 07:39:17 »
Wenn du das nicht als WTP Projekt hast, kannst du immer noch jederzeit den Eclipse debugger als Remote Debugger über Port 8000 an den laufenden Tomcat anhängen.
Das erfordert Einstellungen auf Tomcat und auf Eclipse-Seite.
Das wird hier beschrieben:
http://tomcat.apache.org/faq/development.html
Ich suche nach besseren Beschreibungen.
Hier z.B. http://bugs.sakaiproject.org/confluence/display/ARW/Eclipse+Remote+Debugging+for+Windows+XP
Auf dem Liferay Foren sollte das aber bestimmt jemand ganz genau wissen.
« Letzte Änderung: 03.07.07 - 07:42:48 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz