Eclipse jsp错误IsUserInRole()和其他错误

Eclipse jsp错误IsUserInRole()和其他错误,eclipse,maven,jsp,servlets,Eclipse,Maven,Jsp,Servlets,我正试图重新部署一个落入我手中的项目。这是一个maven项目,它使用的依赖项包括javax.servlet-api: <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>2.5</version> &

我正试图重新部署一个落入我手中的项目。这是一个maven项目,它使用的依赖项包括javax.servlet-api:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>  
        <version>2.5</version>  
    </dependency>

javax.servlet

代码中的方法名称拼写正确:

<c:if test="${not empty pageContext.request.userPrincipal}">
    <c:if test="${pageContext.request.isUserInRole('ROLE_ADMIN')}">
                <button class="custombutton" id="admin" style="font-size: 150%; height:80px; width: 100%">Administration [Admin. Profile]</button>

    </c:if>
</c:if>

管理[管理档案]
此外,Eclipse正在报告所有画布项的警告——标记、属性名称等。无法识别它们:

//-----------------

编辑2:

本项目中有Spring 3.2.8。它能以某种方式拦截servlet定义吗?但是,pom.xml依赖关系层次结构没有显示它

此外,我还没有更改项目中的任何Spring依赖项,它们与现在部署和运行的相同


这看起来像是一个构建问题,但我看不出来。以前的版本部署在IntelliJ上

难怪它会产生编译错误:该方法拼写错误:它是
isUserInRole
,而不是
getIsUserInRole
。结果是,在标记中,必须始终忽略动词:

${pageContext.request.userInRole('ROLE_ADMIN')}
为什么我要显式定义任何类型的servlet api,servlet容器没有吗?如果是这样,如何告诉JBoss使用servlet版本3.0.1

在编译中,web容器还不可用,因此实际上需要在类路径上放置JEE运行时(servlet api.jar
)。你做得很好

如果是这样,如何告诉JBoss使用servlet版本3.0.1

AFAIK no way:您可以选择要使用的servlet容器(和版本),它与特定的运行时捆绑在一起。因此,在编译时,您必须完成对该运行时的修改

关于
canvas
标记的警告:确保您使用的是HTML5:将此声明放在JSP的开头:

<%@ page language="java" 
    import="..."
%><!DOCTYPE html>
<html>
    ...
</html>

...

难怪它会产生编译错误:该方法拼写错误:它是
isUserInRole
,而不是
getIsUserInRole
。结果是,在标记中,必须始终忽略动词:

${pageContext.request.userInRole('ROLE_ADMIN')}
为什么我要显式定义任何类型的servlet api,servlet容器没有吗?如果是这样,如何告诉JBoss使用servlet版本3.0.1

在编译中,web容器还不可用,因此实际上需要在类路径上放置JEE运行时(servlet api.jar
)。你做得很好

如果是这样,如何告诉JBoss使用servlet版本3.0.1

AFAIK no way:您可以选择要使用的servlet容器(和版本),它与特定的运行时捆绑在一起。因此,在编译时,您必须完成对该运行时的修改

关于
canvas
标记的警告:确保您使用的是HTML5:将此声明放在JSP的开头:

<%@ page language="java" 
    import="..."
%><!DOCTYPE html>
<html>
    ...
</html>

...

方法的名称在jsp中是正确的。“get”是Eclipse在problems和markers窗口中预先准备的内容。请查看编辑更新此问题的Q。这也没有帮助。我只导入了javax.servlet.*方法的名称在jsp中是正确的。“get”是Eclipse在problems和markers窗口中预先准备的内容。请查看编辑更新此问题的Q。这也没有帮助。我只导入了javax.servlet*