提问人:Nicolas 提问时间:11/29/2022 最后编辑:Nicolas 更新时间:12/1/2022 访问量:99
错误 - javax.el.PropertyNotFoundException:类“java.lang.String”没有该属性
Errror - javax.el.PropertyNotFoundException: The class 'java.lang.String' does not have the property
问:
我的应用程序在 java11 和 weblogic14 下运行。
jsfHelper 类中的方法:
public static List<FacesMessage> obtenirMessageGlobal() {
FacesContext context = FacesContext.getCurrentInstance();
Iterator<FacesMessage> iter = context.getMessages();
List<FacesMessage> globalMessages = new ArrayList<FacesMessage>();
FacesMessage msg;
// Message global
while (iter.hasNext()) {
msg = iter.next();
if (msg.getSummary() != null
&& !"".equalsIgnoreCase(msg.getSummary()))
globalMessages.add(msg);
}
// remove specifics messages
globalMessages.removeAll(obtenirMessageSpecifique());
return globalMessages;
}
我的JSP文件:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:commun="http://xx.xx.xxxx.xxx/commun">
.
.
.
<h:outputText value="#{message}" rendered="#{not empty message}"/>
<a4j:outputPanel id="messages" ajaxRendered="true">
<h:panelGroup styleClass="globalMessages" layout="block"
rendered="#{not empty commun:obtenirMessageGlobal()}" style="border: none; padding: 0px" >
<rich:dataList value="#{commun:obtenirMessageGlobal()}" var="message" style="margin-top: 0px; padding-left: 20px">
<h:graphicImage
value="resource:///xx/xx/xxxx/xxx/commun/jsf/skins/dti/images/severity/#{message.severity.ordinal}.gif" />
<h:outputText value="#{message.summary}"
styleClass="severity#{message.severity.ordinal}" />
</rich:dataList>
</h:panelGroup>
</a4j:outputPanel>
这是我的例外:
javax.el.PropertyNotFoundException: /WEB-INF/taglib/fragments/uploadPanel.xhtml @37,114 value="resource:///xx/xx/xxxx/xxx/commun/jsf/skins/dti/images/severity/#{message.severity.ordinal}.gif": The class 'java.lang.String' does not have the property 'severity'.
有谁知道如何解决这个错误?
更新:
是否可以添加类型属性 type=“FacesMessage”?我在互联网上没有找到类似的东西。
答: 暂无答案
评论
#{message}
是一个 .您正在尝试访问该属性,但没有 .您应该收到相同的错误。String
severity
String
getSeverity
value="#{message.summary}"
<rich:dataList value="#{commun:obtenirMessageGlobal()}" var="message" type="FacesMessage" style="margin-top: 0px; padding-left: 20px">