Ste*_*fan 6 java jsf websphere-portal ibm-rad ibm-jsf
我们最近从WebSphere Portal v6.1升级到v7.0,在此过程中我们现在可以使用JSF 1.2.在Rad 8中创建一个新的Portlet项目会创建一个带有以下条目的faces-config.xml
<application>
<state-manager>com.ibm.faces.application.DevelopmentStateManager</state-manager>
<variable-resolver>com.ibm.faces.portlet.PortletVariableResolver</variable-resolver>
</application>
Run Code Online (Sandbox Code Playgroud)
然后抱怨:在JSF 1.1之后不推荐使用类型API变量解析器.请改用el-resolver.
不幸的是,我无法在el-resolver使用的IBM页面上找到答案.
编辑:
System.out.println("Resolver: " + PortalUtil.getFacesContext().getApplication().getELResolver());
Run Code Online (Sandbox Code Playgroud)
=>解析器:com.sun.faces.el.FacesCompositeELResolver@696e696e
在faces-config中添加条目
<el-resolver>com.sun.faces.el.FacesCompositeELResolver</el-resolver>
Run Code Online (Sandbox Code Playgroud)
无论是否删除变量解析器,都会导致:
java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:270)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:164)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:358)
... 89 more
Run Code Online (Sandbox Code Playgroud)
与IBM的PMR开放......
IBM 对 PMR 的回应:
问 - 忽略警告可能会产生什么后果?
Ans - 用户仍然可以使用变量解析器,功能不会受到影响。[此标签将保留以实现向后兼容性]
问 - 为什么生成的 faces-config.xml 仍然使用已弃用的方法?
Ans - 我们正在使用变量解析器来解析 portlet 变量,即使使用 JSF 1.2 也能很好地工作
问 - 是否有用于 portlet 的 el-resolver?
Ans - 将有一个用于 portlet 的 el-resolver。它将在 JSF portletbridge 2.0 中提供,该版本将作为 WAS 的更新提供。目前它正处于规划阶段,所以我无法给你一个准确的版本。
| 归档时间: |
|
| 查看次数: |
3618 次 |
| 最近记录: |