Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf javax.el.ELException:错误解析:"#{a4jSkin.imageUrl(';buttonBackgroundImage.png';)};_Jsf_Jsf 2_Richfaces - Fatal编程技术网

Jsf javax.el.ELException:错误解析:"#{a4jSkin.imageUrl(';buttonBackgroundImage.png';)};

Jsf javax.el.ELException:错误解析:"#{a4jSkin.imageUrl(';buttonBackgroundImage.png';)};,jsf,jsf-2,richfaces,Jsf,Jsf 2,Richfaces,我试图在我的JSF2.1.2901项目中使用RichFaces 4.5.2.Final,但它并不完全有效。我将以下皮肤参数添加到我的web.xml: <context-param> <param-name>org.richfaces.skin</param-name> <param-value>emeraldTown</param-value> </context-param> <!-- JS

我试图在我的JSF2.1.2901项目中使用RichFaces 4.5.2.Final,但它并不完全有效。我将以下皮肤参数添加到我的
web.xml

<context-param>
    <param-name>org.richfaces.skin</param-name>
    <param-value>emeraldTown</param-value>
</context-param>

    <!-- JSF mapping -->
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<!-- Map these files with JSF -->
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

<!-- Making the RichFaces skin spread to standard HTML controls -->

<context-param>
    <param-name>org.richfaces.enableControlSkinning</param-name>
    <param-value>true</param-value>
</context-param>
通过浏览器我得到404。之后,我尝试将
ResourceServlet
添加到我的
web.xml
中,如下所示:

<servlet>
    <servlet-name>Resource Servlet</servlet-name>
    <servlet-class>org.richfaces.webapp.ResourceServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Resource Servlet</servlet-name>
    <url-pattern>/org.richfaces.resources/*</url-pattern>
</servlet-mapping>

资源Servlet
org.richfaces.webapp.ResourceServlet
1.
资源Servlet
/org.richfaces.resources/*
现在,当我尝试访问资源时,会出现以下异常:

javax.el.ELException: Error Parsing: "#{a4jSkin.imageUrl('buttonBackgroundImage.png')}"
    com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:124)
    com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:141)
    com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:185)
    com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:65)
    com.sun.faces.application.ApplicationImpl.evaluateExpressionGet(ApplicationImpl.java:426)
    org.richfaces.resource.css.CSSVisitorImpl.visitStyleDeclaration(CSSVisitorImpl.java:219)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleRule(AbstractCSSVisitor.java:98)
    org.richfaces.resource.css.AbstractCSSVisitor.visitRule(AbstractCSSVisitor.java:61)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleSheet(AbstractCSSVisitor.java:48)
    org.richfaces.resource.CompiledCSSResource.getInputStream(CompiledCSSResource.java:124)
    com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:260)
    org.richfaces.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:219)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
    org.richfaces.webapp.ResourceServlet.httpService(ResourceServlet.java:129)
    org.richfaces.webapp.ResourceServlet.service(ResourceServlet.java:123)

root cause

com.sun.el.parser.ParseException: Encountered "(" at line 1, column 20.
Was expecting one of:
    "}" ...
    "." ...
    "[" ...
    ">" ...
    "gt" ...
    "<" ...
    "lt" ...
    ">=" ...
    "ge" ...
    "<=" ...
    "le" ...
    "==" ...
    "eq" ...
    "!=" ...
    "ne" ...
    "&&" ...
    "and" ...
    "||" ...
    "or" ...
    "*" ...
    "+" ...
    "-" ...
    "?" ...
    "/" ...
    "div" ...
    "%" ...
    "mod" ...

    com.sun.el.parser.ELParser.generateParseException(ELParser.java:1630)
    com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1510)
    com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:113)
    com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:40)
    com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:92)
    com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:141)
    com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:185)
    com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:65)
    com.sun.faces.application.ApplicationImpl.evaluateExpressionGet(ApplicationImpl.java:426)
    org.richfaces.resource.css.CSSVisitorImpl.visitStyleDeclaration(CSSVisitorImpl.java:219)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleRule(AbstractCSSVisitor.java:98)
    org.richfaces.resource.css.AbstractCSSVisitor.visitRule(AbstractCSSVisitor.java:61)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleSheet(AbstractCSSVisitor.java:48)
    org.richfaces.resource.CompiledCSSResource.getInputStream(CompiledCSSResource.java:124)
    com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:260)
    org.richfaces.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:219)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
    org.richfaces.webapp.ResourceServlet.httpService(ResourceServlet.java:129)
    org.richfaces.webapp.ResourceServlet.service(ResourceServlet.java:123)
javax.el.ELException:分析错误:“#{a4jSkin.imageUrl('buttonBackgroundImage.png')”
com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:124)
com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:141)
com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:185)
ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:65)
com.sun.faces.application.ApplicationImpl.evaluateExpressionGet(ApplicationImpl.java:426)
org.richfaces.resource.css.CSSVisitorImpl.visitStyleDeclaration(CSSVisitorImpl.java:219)
org.richfaces.resource.css.AbstractCSSVisitor.visitStyleRule(AbstractCSSVisitor.java:98)
org.richfaces.resource.css.AbstractCSSVisitor.visitRule(AbstractCSSVisitor.java:61)
org.richfaces.resource.css.AbstractCSSVisitor.visitStyleSheet(AbstractCSSVisitor.java:48)
org.richfaces.resource.CompiledCSSResource.getInputStream(CompiledCSSResource.java:124)
com.sun.faces.application.resource.ResourceHandlerImpl.HandlerResourceRequest(ResourceHandlerImpl.java:260)
org.richfaces.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:219)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
org.richfaces.webapp.ResourceServlet.httpService(ResourceServlet.java:129)
org.richfaces.webapp.ResourceServlet.service(ResourceServlet.java:123)
根本原因
com.sun.el.parser.ParseException:遇到“(”在第1行第20列。
我期待的是:
"}" ...
"." ...
"[" ...
">" ...
“gt”。。。
"=" ...
“ge”。。。
“
{a4jSkin.imageUrl('buttonBackgroundImage.png')”
EL 2.2之前不支持使用参数调用bean方法的EL语法。这反过来表明您正在部署到Servlet 2.5/EL 2.1或更早版本的容器

根据您之前的问题,我认为至少升级到Servlet 3.0是不可能的。在这种情况下,您最好在支持给定EL 2.2语法的webapp中提供一个自定义EL 2.1实现,例如JBoss EL

另见:
<servlet>
    <servlet-name>Resource Servlet</servlet-name>
    <servlet-class>org.richfaces.webapp.ResourceServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Resource Servlet</servlet-name>
    <url-pattern>/org.richfaces.resources/*</url-pattern>
</servlet-mapping>
javax.el.ELException: Error Parsing: "#{a4jSkin.imageUrl('buttonBackgroundImage.png')}"
    com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:124)
    com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:141)
    com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:185)
    com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:65)
    com.sun.faces.application.ApplicationImpl.evaluateExpressionGet(ApplicationImpl.java:426)
    org.richfaces.resource.css.CSSVisitorImpl.visitStyleDeclaration(CSSVisitorImpl.java:219)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleRule(AbstractCSSVisitor.java:98)
    org.richfaces.resource.css.AbstractCSSVisitor.visitRule(AbstractCSSVisitor.java:61)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleSheet(AbstractCSSVisitor.java:48)
    org.richfaces.resource.CompiledCSSResource.getInputStream(CompiledCSSResource.java:124)
    com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:260)
    org.richfaces.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:219)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
    org.richfaces.webapp.ResourceServlet.httpService(ResourceServlet.java:129)
    org.richfaces.webapp.ResourceServlet.service(ResourceServlet.java:123)

root cause

com.sun.el.parser.ParseException: Encountered "(" at line 1, column 20.
Was expecting one of:
    "}" ...
    "." ...
    "[" ...
    ">" ...
    "gt" ...
    "<" ...
    "lt" ...
    ">=" ...
    "ge" ...
    "<=" ...
    "le" ...
    "==" ...
    "eq" ...
    "!=" ...
    "ne" ...
    "&&" ...
    "and" ...
    "||" ...
    "or" ...
    "*" ...
    "+" ...
    "-" ...
    "?" ...
    "/" ...
    "div" ...
    "%" ...
    "mod" ...

    com.sun.el.parser.ELParser.generateParseException(ELParser.java:1630)
    com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1510)
    com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:113)
    com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:40)
    com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:92)
    com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:141)
    com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:185)
    com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:65)
    com.sun.faces.application.ApplicationImpl.evaluateExpressionGet(ApplicationImpl.java:426)
    org.richfaces.resource.css.CSSVisitorImpl.visitStyleDeclaration(CSSVisitorImpl.java:219)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleRule(AbstractCSSVisitor.java:98)
    org.richfaces.resource.css.AbstractCSSVisitor.visitRule(AbstractCSSVisitor.java:61)
    org.richfaces.resource.css.AbstractCSSVisitor.visitStyleSheet(AbstractCSSVisitor.java:48)
    org.richfaces.resource.CompiledCSSResource.getInputStream(CompiledCSSResource.java:124)
    com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:260)
    org.richfaces.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:219)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
    org.richfaces.webapp.ResourceServlet.httpService(ResourceServlet.java:129)
    org.richfaces.webapp.ResourceServlet.service(ResourceServlet.java:123)