栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

org.apache.jasper.JasperException:当未指定默认名称空间时,功能测试必须与前缀一起使用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

org.apache.jasper.JasperException:当未指定默认名称空间时,功能测试必须与前缀一起使用

org.apache.jasper.JasperException
:当未指定默认名称空间时,功能测试必须与前缀一起使用

这表明环境不支持调用带参数的bean方法的新EL 2.2功能。过时的环境正试图将表达式解释为具有符号的EL函数

namespace:functionName()
(例如JSTL函数)。唯一的例外是抱怨namespace:找不到零件以识别EL功能。毕竟这是错误的。

你需要确保满足以下条件才能使用EL中的参数调用bean方法:

  1. 目标容器必须支持EL 2.2。所有的Servlet 3.0兼容容器都可以使用,因为EL 2.2是Java EE 6的一部分,而Java EE 6也包含Servlet 3.0。Servlet 3.0容器的示例是Tomcat 7.x,Glassfish 3.x和JBoss AS 6.x / 7.x。

  2. /WEB-INF/web.xml
    文件声明为符合Servlet 3.0规范(因此不旧,例如2.5)。

<?xml version="1.0" encoding="UTF-8"?><web-app     xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    version="3.0">    <!-- Config here. --></web-app>

否则,你的容器将以后备模式运行,该模式与web.xml根声明中匹配的版本匹配,从而失去所有新的Servlet 3.0和EL 2.2的出色表现。

  1. web应用程序的
    /WEB-INF/lib
    并没有从旧的品牌/版,如容器包含容器具体实施EL原产库
    el-api.jar
    和/或
    el-impl.jar
    Tomcat 6.x
    的左右始发。

你的具体问题是由使用非Servlet 3.0兼容的容器引起的:旧的Glassfish2.x。

升级到Glassfish 3.x或寻找其他方法。JBoss EL方法仅适用于JSF,不适用于Spring或“普通JSP”。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号