-3

Expression Language (EL)を使用してmyUnmanagedBean.fn()、Java クラスからリンクのラベルのテキストを計算しました。myUnmanagedBean は Bean の名前です。

機能は、

private static String s="vijay";

static String fn()
{
    return s;
}

データ コンテキストを xpage に追加しました。対応するコードは次のとおりです。

<xp:this.dataContexts>
    <xp:dataContext var="myUnmanagedBean"
        value="${javascript:new com.kkmsoft.vijay.Invoke1()}">
    </xp:dataContext>
</xp:this.dataContexts>

エラーページには次のように表示されます。

Exception:

myUnmanagedBean.fn()
Encountered "(", expected one of ["}", ".", ">", "gt", "<", "lt", "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or", "||", "?"]
Encountered "(" at line 1, column 21. Was expecting one of: "}" ... "." ... ">" ... "gt" ... "<" ... "lt" ... "==" ... "eq" ... "<=" ... "le" ... ">=" ... "ge" ... "!=" ... "ne" ... "[" ... "+" ... "-" ... "*" ... "/" ... "div" ... "%" ... "mod" ... "and" ... "&&" ... "or" ... "||" ... "?" ...

そして、スタックトレースでは、

javax.faces.el.ReferenceSyntaxException: myUnmanagedBean.fn()
com.sun.faces.application.ApplicationImpl.checkSyntax(Unknown Source)

その datacontext はテスト目的のためのものです。そうするのが理想的な方法ではないことはわかっています。何が問題ですか?

4

2 に答える 2

1
  1. あなたのELは間違っています。ブラケットを取り外します。
  2. 値にはゲッターとセッターが必要です
  3. ゲッターとセッターを静的にすることはできません
  4. データ コンテキストに viewScope を使用する場合は、java.io.Serializableを実装する必要があります。
于 2013-06-21T09:47:06.943 に答える