作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个“常量”的 JSTL 文件并在其他文件中引用它们。
例如
常量.jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="colour" value="blue"/>
<c:set var="car">Audi</c:set>
其他文件:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:import url="constants.jsp"/>
<p>I drive an ${car} which is ${colour}</p>
上面的代码(显然)不起作用。我怎样才能得到类似于工作的东西?
如果我也可以使用 namespace ,则加分。
最佳答案
您可以使用 include 指令:
<%@include file="/constants.jsp" %>
或者您可以使用动态包含,但是变量必须存储在请求中,而不是页面范围:
<jsp:include page="/constants.jsp" />
<c:set var="colour" value="blue" scope="request"/>
<c:set var="car" scope="request">Audi</c:set>
但最好的方法可能是将所有这些常量放在一个对象中,并将该对象存储在来自 servlet 或过滤器的请求(或 session 或应用程序)中:
private class Constants {
private String color = "blue";
private String car = "Audi";
public String getColor() {
return color;
}
public String getCar() {
return car;
}
}
...
request.setAttribute("constants", new Constants());
...
<p>I drive an ${constants.car} which is ${constants.color}</p>
关于jSTL - 如何从另一个文件中包含 JSTL 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366906/
我是一名优秀的程序员,十分优秀!