包括一个带有 JSP 的页面并加载各种 CSS 文件
Including a page with JSP and loading various CSS files
我有一个.jsp文件,其中包含页面结构(我们称之为base.jsp),它还包括指向CSS文件(base.css)的链接。现在我想在另一个 jsp 文件中包含这个基础.jsp传递一些参数并根据这个参数加载额外的 CSS 文件。它应该是这样的(我知道这段代码不正确,我只是想演示我最终想要实现的目标):
<%@include file="base.jsp" x="720" %>
if(x == "720")
load 720.css
else if(x == "460")
load 460.css
else
load 320.css
怎么能做到呢?
编辑
也许可以用这样的事情来完成?
<%@include file="base.jsp?x=720" %>
然后以某种方式读取 base.jsp 文件中的这个 x 参数并相应地加载其他 CSS?有这种可能吗?
请将以下代码放在底座的 head 标签中.jsp
<%
String size = request.getParameter("size");
if(size == null)
out.println("<link rel='stylesheet' href='base.css'>");
else if(size.equals("720"))
out.println("<link rel='stylesheet' href='720.css'>");
else if(size.equals("460"))
out.println("<link rel='stylesheet' href='460.css'>");
else if(size.equals("320"))
out.println("<link rel='stylesheet' href='320.css'>");
%>
并将以下代码放在另一个包含 base 的 JSP 上.jsp
<jsp:include page="base.jsp">
<jsp:param name="size" value="720"/>
</jsp:include>
我会这样做:
在基本 jsp 中,我可以声明一个方法,该方法可以接收一个 int 参数(大小)
像这样:
<%! public String getSize (int x) {
String s;
if (x==720){
s="720.css";
else if(x==480){
s="another.css"}
//
return s;
}
%>
在包含阶段之后:
<% String s=getSize(720); %>
<%@include file="base.jsp">
<link rel='stylesheet' href='<%=s%>'>
当然,
您可以使用带有"<%"和"%>"标签的Java片段。但是在JSP中使用Java代码段不是一个好的做法。
为此目的最好使用 JSP 标记。您可以使用
<c:if test="${param.x == 720}">
<link rel="stylesheet" type="text/css" href="720.css" />
</c:if>
<c:if test="${param.x == 460}">
<link rel="stylesheet" type="text/css" href="460.css" />
</c:if>
不要忘记包括
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
在 JSP 文件的开头,还要将 JSTL 库添加到您的项目中。
您可以在此 URL 中看到一些使用 JSP if 标记的示例。http://www.tutorialspoint.com/jsp/jstl_core_if_tag.htm
完整的 JSP 页面,其中包含我在此 URL 中放置的示例:http://pastebin.com/qn2Qh3GK
相关文章:
- 加载文件,然后调用回调函数
- 根据浏览器大小加载文件
- 错误:无法在“XMLHttpRequest”上执行“发送”:无法加载“文件”:AngularJS SPA
- Ajax在mootools中使用来加载文件
- 加载文件时xmlhttp不稳定,如何修复
- Require.js何时加载文件
- 有没有办法在不打包的情况下在 nodejs 上加载文件
- 如何通过从浏览器 js 控制台触发的 require.js 重新加载文件
- 使用jQuery加载文件,计算类的元素并设置间隔比率
- 如何在 AngularJS UI 路由器中从bower_component加载文件
- JavaScript 本地应用程序保存/加载文件
- 如何在特定页面上加载文件
- 内容安全策略不从本地主机加载文件
- Javascript 无法从其他目录加载文件
- Extjs MVC 文件夹结构无法加载文件
- 节点.js - 在运行时加载文件
- nodejs加载文件
- Javascript/AAJAX仅重新加载文件“;onchange”;
- 加载文件,并在特定行之后删除javascript/jquery中的所有剩余行
- 是否可以在非服务页面上使用JS/HTML5 FileReader加载文件