症状:
PumaLocator
不可用,每个findXXX
- 方法返回空结果或抛出异常,因为没有找到任何内容。
分析:
问题似乎是,由于ICEfaces特定的体系结构,方法GenericPortlet.doView
仅在第一次加载Portlet时被调用,而不是用于以下(AJAX)页面更新,例如,在调用ActionListener的情况下
如果我在doView方法中使用PumaLocator
,一切正常。
我尝试了以下尝试:
PumaLocator
中的doView
,将其放入会话并稍后使用 - 不起作用RenderRequest
中获取doView
,将其放入会话并稍后通过传递该请求获取PumaLocator
- 无法正常工作我很高兴有任何提示。谢谢!
答案 0 :(得分:1)
PUMA使用上下文中的信息检查结果授权。您必须在ICEFaces使用的AJAX后端servlet的部署描述符中添加JavaEE安全角色。作为规则的拇指,如果request.getRemoteUser()和request.getUserPrincipal()返回除null之外的东西你知道PUMA将起作用。否则它将 NOT 工作,这是预期的行为。
或者,您可以尝试禁用PUMA like this.
的安全检查