Hallo,
ich habe ein Problem mit einer managed Bean die eigentlich nur den aktuellen User zurückgeben soll.
In einem Label soll der Name und die OU1 angezeigt werden was beim ersten Laden der XPage auch funktioniert.
Aktualisiere ich jedoch die Seite (über die Schaltfläche "Aktualisieren" oder indem ich irgendwohin navigiere) so scheint die Bean sämtliche Daten zu verlieren.
Fehlermeldung
Fehler beim Ausführen eines von JavaScript berechneten Ausdrucks.
Script-Interpreterfehler, Zeile=1, Spalte=18: Fehler beim Aufrufen von Methode 'getAbbreviated()' für Java-Klasse 'Test.UserInformationProviderClass'
faces-config.xml
<managed-bean>
<managed-bean-class>Test.UserInformationProviderClass</managed-bean-class>
<managed-bean-name>UserInfoProvider</managed-bean-name>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Java Klasse
package Test.TicketManagement;
import lotus.domino.Name;
import lotus.domino.NotesException;
import lotus.domino.Session;
import com.ibm.xsp.model.domino.DominoUtils;
public class UserInformationProviderClass {
private Name _UserName;
public UserInformationProviderClass() {
Session session = null;
try {
session = DominoUtils.getCurrentSession();
this._UserName = session.createName(session.getEffectiveUserName());
}
catch (Exception e) {
this.setUserName("");
}
}
public Name getUserName() {
return this._UserName;
}
public void setUserName(String name) {
try {
this._UserName = DominoUtils.getCurrentSession().createName(name);
} catch (Exception e) {
this._UserName = null;
}
}
public String getCanonical() {
try {
return this._UserName.getCanonical();
} catch (NotesException e) {
return "[NONAME]";
}
}
public String getAbbreviated() throws NotesException
{
if (this._UserName != null)
return this._UserName.getAbbreviated();
else
return "[NONAME]";
// try {
// return this._UserName.getAbbreviated();
// } catch (NotesException e) {
// return "[NONAME]";
// }
}
public String getCompany()
{
String company = null;
try {
company = this._UserName.getOrgUnit1();
if(company == null || company == "")
company = "[NOTALLOWED]";
return company;
}
catch (Exception e) {
return "[NOTALLOWED]";
}
}
}
XPage
<xp:label id="label2">
<xp:this.value>
<![CDATA[#{javascript:UserInfoProvider.getAbbreviated() + " (" + UserInfoProvider.getCompany() + ")"}]]>
</xp:this.value>
</xp:label>