Jsf 不允许使用延迟EL表达式,因为延迟SyntaxAllowedAsLiteral为false

Jsf 不允许使用延迟EL表达式,因为延迟SyntaxAllowedAsLiteral为false,jsf,weblogic11g,Jsf,Weblogic11g,在执行JSF页面时,我遇到了以下错误 不允许使用延迟EL表达式,因为deferredSyntaxAllowedAsLiteral为false 因此,我将文件扩展名从login.jsp更改为login.xhtml 这个文件和许多其他文件在中包含大量Java代码,因此保持Java代码完整的最佳方法是什么?我希望我的遗留应用程序部署到Weblogic 11g(10.1.3.6),更改所有JSP scriplets是一项非常艰巨的任务,因为这是一个遗留应用程序 web.xml <?xml v

在执行JSF页面时,我遇到了以下错误

不允许使用延迟EL表达式,因为
deferredSyntaxAllowedAsLiteral
为false


因此,我将文件扩展名从login.jsp更改为login.xhtml

这个文件和许多其他文件在
中包含大量Java代码,因此保持Java代码完整的最佳方法是什么?我希望我的遗留应用程序部署到Weblogic 11g(10.1.3.6),更改所有JSP scriplets是一项非常艰巨的任务,因为这是一个遗留应用程序

web.xml

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
    <display-name>prod</display-name>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>Login</servlet-name>
        <servlet-class>test.app.Login</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>DBervice</servlet-name>
        <servlet-class>test.app.common.DBService</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>LAPService</servlet-name>
        <servlet-class>test.app.LAPService</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Login</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>DBervice</servlet-name>
        <url-pattern>/dbservice</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>LAPService</servlet-name>

戳
Facesservlet
javax.faces.webapp.FacesServlet
1.
登录
test.app.Login
数据服务
test.app.common.DBService
失效
测试应用程序失效服务
Facesservlet
/面孔/*
登录
/登录
数据服务
/数据库服务
失效

听起来您只需设置:

<%@ page deferredSyntaxAllowedAsLiteral="true" %> 


在所有JSP页面中。它与Weblogic 10.3兼容。您可能可以编写某种类型的
sed
调用来在每个JSP中执行此操作。

@BalusC我在定义FacesServlet的地方包含了web.xml。@BalusC您是指faces config.xml吗?@BalusC抱歉,URL是
http://localhost:7001/apps/login
@BalusC Login Servlet获取身份验证详细信息并将响应转发到jsf页面<代码>response.sendRedirect(“faces/my_list.jsp”)正如我前面提到的,这是一个遗留应用程序,不会花时间修改代码。@BalusC我的另一个选择是在Weblogic server中使用JSF1.1或JSF1.2库。因此,我不需要更改任何遗留代码。
<%@ page deferredSyntaxAllowedAsLiteral="true" %>