Java 如何在JSP中获取操作名,即使它是';是空的吗?

Java 如何在JSP中获取操作名,即使它是';是空的吗?,java,jsp,struts2,ognl,struts-action,Java,Jsp,Struts2,Ognl,Struts Action,我是java新手。我试着四处搜索,但没有找到任何与我的问题类似的东西 我在菜单中有列表项(-s和-s),我想在标记中添加活动的类,具体取决于操作的名称,以激活特定的菜单项 为此,我使用了这段代码 ${request.context['struts.actionMapping'].name} 这段代码在所有页面上都可以正常工作,但在第页上除外。操作名称为”,即空字符串。空字符串检查或空检查在操作名为“” ${request.context['struts.actionMapping'].name

我是java新手。我试着四处搜索,但没有找到任何与我的问题类似的东西

我在菜单中有列表项(
-s和
  • -s),我想在
  • 标记中添加
    活动的
    类,具体取决于操作的名称,以激活特定的菜单项

    为此,我使用了这段代码

    ${request.context['struts.actionMapping'].name}
    
    这段代码在所有页面上都可以正常工作,但在第页上除外。操作名称为
    ,即空字符串。空字符串检查或空检查在操作名为“

    ${request.context['struts.actionMapping'].name}
    
    • 仪表板
    • 添加学生档案
    • 编辑配置文件
    • 视图配置文件
    这是我的struts.xml

    
    主人
    添加
    编辑
    看法
    
    如果操作名称为空,
    ${request.context['struts.actionMapping'].name}
    将在
    标记体中产生空值,该空值等于
    ,并将值堆栈中的top对象分配给
    某些
    变量。通常,值堆栈中的顶级对象是action类实例。所以你会得到类似于
    com.javaguy.struts2的东西。IndexAction@4349f7db
    而不是空字符串

    要获得一个空的操作名,只需在
    标记中使用OGNL

    <s:set var="some" value="#request.context['struts.actionMapping'].name" />
    
    
    

    同样像Andrea已经提到的那样,避免在变量中使用关键字(如
    操作
    )。

    空操作?为什么?使用
    。也许他只想捕获空操作,而不是所有不匹配的URL。还有
    “*”
    诀窍,顺便说一句,最好使用非空名称,但我想整个要点有点宽泛,一个人怎么能调用空操作呢?类似于
    /.action
    。将EL与Struts标签混合的一点副作用:D@YasirWali:关于这个问题,你还有什么问题吗?如果没有,别忘了接受/支持对你有帮助的答案。