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

时间:2012-03-20 14:52:40

标签: jsp struts2

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

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

我很困惑这里使用的语法是什么,在我正在编辑的文件中有类似的东西 <c:choose><c:when test="${!empty param.share_url}">

和代码如

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

我的代码是否符合我的要求?

2 个答案:

答案 0 :(得分:1)

如果你正在使用S2而不是我建议你继续使用S2标签,这样你就可以使用S2的全部功能及其与ONGL和Value-Stack的绑定。

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

第一部分

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

您无需使用HTTPServletRequest,而S2提供了一种访问请求,会话,应用程序范围对象的简洁方法。

以下是我们在JSP中访问它们的方式

<s:property value="#request.myId" />

有关详细信息,请参阅官方文档

答案 1 :(得分:0)

我有一段时间没有做过struts,因为我叛逃到.net(对不起),但我似乎记得你可以做几件事

  1. ${request.requestURI}
  2. <s:property value="%{#context['com.opensymphony.xwork2.dispatcher.HttpServletRequest'].requestURI}"/>
  3. 如果现在已经过时,请道歉。