我有一个网页,我希望css文件与我设置的会话变量同名。
例如; 如果会话变量为“蓝色”,我希望页面加载CSS文件 blue.css 。
我尝试了下面没有用的东西,我现在卡住了。我对struts的了解非常有限。
<LINK rel="stylesheet" type="text/css"
href="<html:rewrite page='/css/<c:out value="${brand}"/>.css'/>">
这是我的jsp页面顶部的完整代码列表
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html-el" prefix="html-el"%>
<html:html lang="true">
<head>
<LINK rel="stylesheet" type="text/css" href="<html:rewrite page='/css/${brand}.css'/>">
<html:base/>
我不知道如何找到我正在使用的JSP和JSTL版本。这是一个从别人那里拿来的项目,我从来没有使用过它们
答案 0 :(得分:0)
它无效,因为您将c:out标记放在html:rewrite标记的属性中。在属性值中时,Struts标记不会解析。
答案 1 :(得分:0)
href="<html:rewrite page="/css/${brand}.css"/>">
答案 2 :(得分:0)
根据另一个用户,你不能在属性中重写html,但也许你可以做下面的事情并重写整个链接?
<html:rewrite page='<LINK rel="stylesheet" type="text/css" href="/css/${brand}.css"/>'>
答案 3 :(得分:0)
不幸的是,我无法让你的任何答案奏效。我认为这可能是我的版本发生冲突的问题。
现在我已经设法做到了;
<%
String brand = (String) session.getAttribute("brand");
if (brand == null || brand.equals("")) {
skin = "standard";
}
%>
<link href="/css/<%=brand%>.css" rel="stylesheet" type="text/css" />
答案 4 :(得分:0)
试试这个java脚本,它会起作用。 变量代码是ur jsp中的隐藏字段。
var code=(document.getElementById('code')).value;
var url;
// Dynamically loads the Style Sheet according to the user logged in
if(code !== null)
{
url="<link rel='stylesheet' type='text/css' href='css/"+code+".css' title='default'>";
}
else
{
url="<link rel='stylesheet' type='text/css' href='css/commonStyle.css' title='default'>";
}
if(url !== null)
{
document.write(url);
}