Search the FirstSpirit Knowledge Base
Hallo
ich versuche grade ein Phänomen zu verstehen und zwar wird beim Speichern des Formulars ein Fehler geworfen.
Im Formular steht Folgendes:
<CMS_INPUT_CONTENTLIST
name="st-newsletter-sections-news" label="News" comment="" table="244" allowNew="0" maxEntries="10">
<QUERY table="news">
<TABLEALIAS table="news" alias="news"/>
<OR>
<ISNULL table="news" column="sentby_newsletter"/>
<NEQ table="news" column="sentby_newsletter" datatype="java.lang.Integer" value="1"/>
</OR>
</QUERY>
</CMS_INPUT_CONTENTLIST>
Beim Speichern wird aber der Fehler geworfen, dass die QUERY deklariert werden muss.
Bei der Voschau meldet die Java Console :
ERROR03.02.2011 17:39:37 (firstspirit.gui.client.explorer.views.SectionView):parseNode
java.lang.NullPointerException
atfirstspirit.gui.client.explorer.editorcomponent.ContentListEditorComponent$ContentListPanel.access$300(ContentListEditorComponent.java:599)
at firstspirit.gui.client.explorer.editorcomponent.ContentListEditorComponent$5.isEnabled(ContentListEditorComponent.java:640)
at javax.swing.JComponent.setEnabled(Unknown Source)
at javax.swing.AbstractButton.setModel(Unknown Source)
at javax.swing.JButton.<init>(Unknown Source)
at javax.swing.JButton.<init>(Unknown Source)
at firstspirit.gui.ModifierButton.<init>(ModifierButton.java:30)
at firstspirit.gui.ToolButton.<init>(ToolButton.java:25)
at firstspirit.gui.ToolButton.<init>(ToolButton.java:30)
at firstspirit.gui.HoverButton.<init>(HoverButton.java:23)
atfirstspirit.gui.client.explorer.editorcomponent.ContentListEditorComponent$5.<init>(ContentListEditorComponent.java:643)
atfirstspirit.gui.client.explorer.editorcomponent.ContentListEditorComponent$ContentListPanel.<init>(ContentListEditorComponent.java:634)
at firstspirit.gui.client.explorer.editorcomponent.ContentListEditorComponent.getRenderer(ContentListEditorComponent.java:207)
atfirstspirit.gui.client.explorer.editorcomponent.EditorComponentImpl.getComponent(EditorComponentImpl.java:101)
at firstspirit.gui.client.explorer.views.SectionView.parseNode(SectionView.java:865)
atfirstspirit.gui.client.explorer.views.SectionView.getComponent(SectionView.java:347)
atfirstspirit.client.gui.tree.store.templatestore.TSTemplateView$FormularViewComponent.preview(TSTemplateView.java:1214)
atfirstspirit.client.gui.tree.store.templatestore.TSTemplateView.preview(TSTemplateView.java:192)
atfirstspirit.client.gui.tree.store.templatestore.GuiTemplate.preview(GuiTemplate.java:75)
at firstspirit.gui.client.explorer.CMSExplorer.preview(CMSExplorer.java:2856)
atfirstspirit.gui.client.explorer.CMSToolbar.actionPerformed(CMSToolbar.java:41)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at firstspirit.gui.ModifierButton.fireActionPerformed(ModifierButton.java:50)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Was mache ich falsch ? ??
Vielen Dank im Voraus
Wenn ich mich recht erinnere, unterstützt die CAL in 3.1 noch kein QUERY-Tag
In der Doku ist der Query-Tag für die Contentlist dabei.
Ohne den Tag habe ich es versucht, das Speichern geht dann zwar aber die Formular-Vorschau wirft weiterhin einen Fehler. Das kann ich mir grade gar nicht erklären
Stimmt, für CONTENTLIST gab es auch in 3.1 auch schon das QUERY-Tag. Leider steht mir aktuell kein Testsystem zur Verfügung. Ich vermute aber, das sich im Formular noch ein Fehler verbirgt - auch wenn ich ihn momentan nicht sehe
Dann sind wir schon zu zweit
Noch etwas zu der Query
Ich habe die Query einzeln getestet, also als einfache Abfrage - die liefert problemlos korrekte Ergebnisse: Daran sollte es also nicht liegen.
Poste doch bitte mal das komplette Formular.
Das ist er :
<CMS_INPUTLIST>
<CMS_INPUT_TEXT name="st-headline" label="Headline" comment="Please insert a headline"
hfill="1" nobreak="0" convertentities="1" uselanguages="1">
<CMS_TEXT lang="BG" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="CN" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="DK" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="DE" label="Headline" comment="Bitte geben Sie die Headline für diesen Inhalt an "></CMS_TEXT>
<CMS_TEXT lang="EN" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="FI" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="FR" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="IT" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="JP" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="KR" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="NL" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="NO" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="PL" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="SE" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="ES" label="Headline" comment="Please insert a headline"></CMS_TEXT>
<CMS_TEXT lang="CZ" label="Headline" comment="Please insert a headline"></CMS_TEXT>
</CMS_INPUT_TEXT>
<CMS_INPUT_CONTENTLIST
name="st-newsletter-sections-news"
label="News"
comment=""
table="244"
allowNew="0"
maxEntries="10">
<QUERY table="news">
<TABLEALIAS table="news" alias="news"/>
<OR>
<ISNULL table="news" column="sentby_newsletter"/>
<NEQ table="news" column="sentby_newsletter" datatype="java.lang.Integer" value="1"/>
</OR>
</QUERY>
</CMS_INPUT_CONTENTLIST>
</CMS_INPUTLIST>
Hallo Svetlana,
die Fehler beim Speichern sind "normal". Das liegt einfach daran, dass das Query zwar unterstützt, aber nicht in der DTD definiert wurde . Die Fehler einfach ignorieren
Wenn Du das Query weglässt, funktioniert die CONTENTLIST denn dann oder gibt es auch die NPE?
Versuch mal bei dem Attribut table anstelle der TemplateID den Referenznamen der Tabellenvorlage anzugeben, also <SCHEMANAME>.<TABELLENVORLAGENNAME>, z.B.
<CMS_INPUT_CONTENTLIST
name="st-newsletter-sections-news"
label="News"
comment=""
table="SCHEMANAME.news"
Klappt es dann?
Viele Grüsse aus Dortmund,
Holger
Hallo. ,
nein leider klappt das nicht Passiert genau das gleiche
Hallo,
ähm - passiert genau das selbe wenn Du die Query weglässt oder wenn Du den Inhalt des table Attributes änderst? Oder wenn Du beides machst?
Insbesondere das Ergebnis, wenn die Query weggelassen wird, wäre interessant.
Viele Grüsse aus Dortmund,
Holger