2011-03-06 75 views
1

我在JSF頁面中遇到動態綁定問題我正在使用JSF 1.1jsf中的動態綁定

所有我想要的是經理名稱動態

<%String manger="ManagerName";%> 

上面的代碼只是一個片段它會來請求參數

來自jsf文件的代碼

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

這是我得到的錯誤xnxty

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 

回答

2

不能混合小腳本<% %>和EL ${ }錯誤。使用這一個或另一個。

由於它來自請求參數,只需在EL中將其作爲${param.name}進行訪問。如果bean位於請求範圍內,則可以通過${requestScope[param.name]}訪問它。所以:

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

對於會話範圍的bean,使用#{sessionScope}代替。


這個設計/方法與這個問題/問題無關。