这是正确的jsp/struts语法吗?

这是正确的jsp/struts语法吗?,jsp,struts2,Jsp,Struts2,我对这个很陌生,我正在尝试看看域名是否与我指定的域名匹配。如果域与生产不匹配,那么我想添加noindex meta,它是一个JSP页面 这是我的密码 <s:if test="%{!HttpServletRequest.getRequestUrl().containsIgnoreCase('www.example.com')}"> <meta name="robots" content="noindex" /> </s:if> 我对这里使用的正确语

我对这个很陌生,我正在尝试看看域名是否与我指定的域名匹配。如果域与生产不匹配,那么我想添加noindex meta,它是一个JSP页面 这是我的密码

<s:if test="%{!HttpServletRequest.getRequestUrl().containsIgnoreCase('www.example.com')}">
    <meta name="robots" content="noindex" />
</s:if>

我对这里使用的正确语法感到非常困惑,在我正在编辑的文件中有如下内容

和代码一样

<s:if test="%{sectionId == 'vehicles'}">


我的代码正确吗?

我已经有一段时间没有使用struts了,因为我改用了.net(很抱歉),但我似乎记得你可以用几种方法来实现它

  • ${request.requestURI}

  • 如果这已经过时,我深表歉意。

    如果您正在使用S2,我建议您继续使用S2标记,以便您可以充分利用S2的功能及其与ONGL和值堆栈的绑定

    如果您想使用JSTL,并且可以使用JSTL,因为S2提供了对JSTL的开箱即用支持,除非没有完全的需要,否则不要混合使用ta库

    第一部分

    <s:if test="%{!HttpServletRequest.getRequestUrl().containsIgnoreCase('www.example.com')}">
        <meta name="robots" content="noindex" />
    </s:if>
    
    有关更多详细信息,请参阅官方文件


    在我看来,这更像是Struts,而不是JSTLok,然后是Struts我不知道确切的正确名称是什么,不仅仅是为了掩盖区别,两者是完全不同的。我不知道这是什么,我只知道这是一个jsp文件,该文件包含我上面列出的语法。我知道我编写的代码不起作用,因为我在测试中没有看到meta标记
    %{}
    语法是Struts2特定的OGNL。JSP使用
    ${}
    语法,即EL。JSTL只是另一个JSPTaglib。显然,我们已经将变量设置为域,所以我只是将该变量与prod字符串进行了比较,但感谢您的输入和努力
    <s:property value="#request.myId" />