JSP 表达式 VS EL 表达式 用法比较
程序员文章站
2022-07-02 08:16:02
...
应用场景:
根据访问路径URL,判断当前用户选择使用的语言。转向对应语言的页面。
知识点:
判断语言,设定语言变量,并在JSP中使用 EL 表达式 或 JSP 表达式引用设定的变量。
代码:
<% // 根据路径,取出路径中的语言。 // URL: http://xyz.com/en/home.jsp String _lan = "en"; String _Url = request.getRequestURL().toString(); if(_Url.contains("/fr/")){ _lan = "fr"; } else if(_Url.contains("/de/")){ _lan = "de"; } else if(_Url.contains("/ja/")){ _lan = "ja"; } else if(_Url.contains("/es/")){ _lan = "es"; } else if(_Url.contains("/ko/")){ _lan = "ko"; } else if(_Url.contains("/zh-hans/")){ _lan = "zh-hans"; } else if(_Url.contains("/zh-hant/")){ _lan = "zh-hant"; } %>
不可以这样使用 JSP 表达式:
<c:redirect url = "/hyatt/404.jsp?language=<%=_lan%>"/>
这是正确的:
<% request.setAttribute("_lan", _lan); %> <c:redirect url = "/hyatt/404.jsp?language=${_lan}"/>
或者是这样使用:
<c:set var="_lan" value="<%=_lan%>"></c:set> <c:redirect url="/hyatt/404.jsp?language=${_lan}"/>
应用示例:
<c:set var="isAuthor" value="<%=WCMMode.fromRequest(request) != WCMMode.DISABLED%>"></c:set> <c:choose> <c:when test="${isAuthor}"> <%@include file="/lib/servlet/error/default.jsp"%> </c:when> <c:otherwise> <%@include file="default.jsp"%> </c:otherwise> </c:choose>
-
上一篇: 入门云开发