Hallo,
ich versuche in einer XPage eine Datenquelle mit einer Managed-Bean zu verbinden.
Die Quelle ist wie folgt angelegt:
<xp:this.data>
<xp:dominoDocument var="docDownload" formName="faDownload"
action="openDocument">
</xp:dominoDocument>
</xp:this.data>
In der faces-config.xml gibt es folgenden Eintrag:
<managed-bean>
<managed-bean-name>downloadController</managed-bean-name>
<managed-bean-class>com.example.DownloadController</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>download</property-name>
<property-class>com.ibm.xsp.model.domino.wrapped.DominoDocument</property-class>
<value>#{docDownload}</value>
</managed-property>
</managed-bean>
Die Klasse DownloadController sieht wie folgt aus:
public class DownloadController implements Serializable {
private static final long serialVersionUID = 8450916369314828059L;
private DominoDocument docDownload;
public DownloadController() {
}
public void doSomething() {
}
public void setDownload(DominoDocument download) {
this.docDownload = download;
}
public DominoDocument getDownload() {
return docDownload;
}
}
In der XPage gibt es eine Schaltfläche die eine Funktion aus der Bean ausführen soll.
Definiere ich diese über die EL funktioniert alles wie gewünscht:
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:executeScript
script="#{downloadController.doSomething}">
</xp:executeScript>
</xp:this.action>
</xp:eventHandler>
</xp:button>
Wenn ich das aber über Java-Script machen möchte erhalte ich eine Fehlermeldung:
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:executeScript
script="#{javascript:downloadController.doSomething()}">
</xp:executeScript>
</xp:this.action>
</xp:eventHandler>
</xp:button>
Fehler beim Ausführen eines JavaScript-Aktionsausdrucks.
javax.faces.FacesException: Managed Bean-Eigenschaft kann nicht festgelegt werden: „download“.
Managed Bean-Eigenschaft kann nicht festgelegt werden: „download“.
Access denied (java.lang.RuntimePermission getClassLoader)
Ausdruck
1: #{javascript:downloadController.doSomething}
Woher kommt der Fehler und was kann ich tun damit er nicht auftritt?