托管bean必须通过其web.xml文件配置参数。 web.xml文件定义了在JDeveloper(11.1.2.3)中配置的上下文初始化参数,如下所示:
reporting.server.protocol
定义的来源如下:
<context-param>
<description>Defines the data transport mechanism to ret...</description>
<param-name>reporting.server.protocol</param-name>
<param-value>http</param-value>
</context-param>
bean公开了reportServerProtocol
的公共访问器方法。
bean的来源类似于:
@ManagedBean
@RequestScoped
public class OracleReportBean extends ReportBean {
@ManagedProperty("#{initParam['reporting.server.protocol']}")
private String reportServerProtocol = URLReportImpl.DEFAULT_PROTOCOL;
// ...
}
我想使用上下文初始化参数初始化bean,而不是通过FacesContext。在adfc-config.xml
(注意:不是faces-confg.xml
)中,一些示例显示对initParam
的引用:
<managed-bean>
<managed-bean-name>reportBean</managed-bean-name>
<managed-bean-class>ca.corp.report.view.OracleReportBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>reportServerProtocol</property-name>
<property-class>java.lang.String</property-class>
<value>#{initParam['reporting.server.protocol']}</value>
</managed-property>
...
</managed-bean>
关键字是值元素#{initParam['reporting.server.protocol']}
。但是,JDeveloper将该行显示为不正确。也就是说,initParam
中没有adfc-confing.xml
上下文。
错误是:“EL令牌initParam
未知。”
使用EL,如何在ADFc中以声明方式使用上下文初始化参数来配置托管bean?
答案 0 :(得分:1)
JDeveloper中的错误导致显示错误:
但是,即使IDE显示错误,代码也会按预期执行。
答案 1 :(得分:0)
在ui层你可以尝试这样的事情:
<c:set target="${BeanName}" property="PropertyName" value="${true}"/>