我在JSF页面中遇到动态绑定问题我正在使用JSF 1.1
我想要的只是经理让管理员名称动态
<%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
答案 0 :(得分:2)
您不能混合使用scriptlet <% %>
和EL ${ }
。使用其中一个。
由于它来自请求参数,因此只需在EL中将其作为${param.name}
访问即可。如果bean在请求范围内,那么您可以通过${requestScope[param.name]}
访问它。所以:
<h:inputText id="street1" value="#{address.street1}"
binding = "#{requestScope[param.name].billingStreet}"
/>
对于会话范围的bean,请改用#{sessionScope}
。
与问题/问题无关,这种设计/方法闻起来。