1

JSF 1.1 を使用している JSF ページの動的バインディングに問題があります。

私が望むのは、マネージャーがマネージャー名を動的にすることだけです

<%String  manger="ManagerName";%>

上記のコードは単なるスニペットであり、リクエスト パラメータとして渡されます

jsf ファイルのコード

<h:inputText id="street1" value="#{address.street1}"
binding = "#{<%=manager%>.billingStreet}" 
/>

これは私が現在取得しているエラーです

enter code here

Caused by: org.apache.commons.el.parser.ParseException: Encountered "<" at line 1, column 3.
Was expecting one of:
    <INTEGER_LITERAL> ...
    <FLOATING_POINT_LITERAL> ...
    <STRING_LITERAL> ...
    "true" ...
    "false" ...
    "null" ...
    "(" ...
    "-" ...
    "not" ...
    "!" ...
    "empty" ...
    <IDENTIFIER> ...

    at org.apache.commons.el.parser.ELParser.generateParseException(ELParser.java:1895)
    at org.apache.commons.el.parser.ELParser.jj_consume_token(ELParser.java:1779)
    at org.apache.commons.el.parser.ELParser.Expression(ELParser.java:124)
    at org.apache.commons.el.parser.ELParser.AttrValueExpression(ELParser.java:96)
    at org.apache.commons.el.parser.ELParser.ExpressionString(ELParser.java:43)
    at org.apache.myfaces.el.ELParserHelper.parseExpression(ELParserHelper.java:83)
    ... 49 more
4

1 に答える 1

2

<% %>スクリプトレットと ELを混在させることはできません${ }。どちらかを使用してください。

リクエストパラメータから来ているので${param.name}、ELのようにアクセスするだけです。Bean が request スコープ内にある場合は、 でアクセスできます${requestScope[param.name]}。そう:

<h:inputText id="street1" value="#{address.street1}"
    binding = "#{requestScope[param.name].billingStreet}" 
/>

セッション スコープ Bean の場合は、#{sessionScope}代わりに使用します。


問題/質問とは関係なく、この設計/アプローチは臭いです。

于 2011-03-06T11:45:49.513 に答える