<c:set var="webRoot" value="<%=basePath%>" />
时间: 2023-10-08 13:03:54 浏览: 68
这段代码是用于将当前 web 应用的完整访问路径设置到 JSP 页面的变量 webRoot 中。其中,c:set 是 JSTL 标签库中的一个标签,用于设置一个 JSP 页面的局部变量。通过 var 属性指定变量名为 webRoot,通过 value 属性指定变量值为 basePath,即当前 web 应用的完整访问路径。这样,在 JSP 页面中就可以通过 ${webRoot} 来引用这个变量,方便地生成应用中的链接地址、重定向到其他页面等操作。
相关问题
<%@ taglib prefix="t" uri="/easyui-tags"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path; %> <c:set var="webRoot" value="<%=basePath%>" />
这段代码是一个 JSP 页面的头部,它引入了一些标签库,包括 easyui-tags、jstl/core、jstl/functions 和 jstl/fmt_rt。同时,它也定义了一个名为 webRoot 的变量,它的值是通过获取请求的上下文路径和服务器信息拼接而成的。这个变量可以方便地在页面中使用,例如在引入 CSS 或 JS 文件时可以使用 ${webRoot} 替代绝对路径。
<% String user_name = (String)session.getAttribute("user_name"); if(user_name==null){ %> <li><a href="#" onclick="login();">用户登录</a></li> <li><a href="<%=basePath%>login.jsp">后台登录</a></li> <% } else { %> <li class="dropdown"> <a id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> ${sessionScope.user_name} <span class="caret"></span> </a> </li> <li><a href="<%=basePath %>logout.jsp"><span class="glyphicon glyphicon-off"></span> 退出</a></li> <% } %>这段代码请帮我用jstl标签改写
可以将上述代码使用 JSTL 标签进行改写,代码如下所示:
```html
<c:choose>
<c:when test="${empty sessionScope.user_name}">
<li><a href="#" onclick="login();">用户登录</a></li>
<li><a href="${basePath}login.jsp">后台登录</a></li>
</c:when>
<c:otherwise>
<li class="dropdown">
<a id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
${sessionScope.user_name}
<span class="caret"></span>
</a>
</li>
<li><a href="${basePath}logout.jsp"><span class="glyphicon glyphicon-off"></span> 退出</a></li>
</c:otherwise>
</c:choose>
```
在上述代码中,使用了 `<c:choose>` 标签来判断当前用户是否已经登录,如果已经登录,则显示用户信息和退出链接,否则显示用户登录和后台登录链接。在判断条件中,使用了 `${empty sessionScope.user_name}` 表达式来判断 `sessionScope` 对象中是否存在 `user_name` 属性。在 JSTL 中,`${}` 表达式用于引用 EL 表达式的值,`${empty}` 表达式用于判断值是否为空。此外,在代码中还使用了 JSTL 的 `<c:when>` 和 `<c:otherwise>` 标签来实现条件判断。
阅读全文