3

我有一个 Java Web 项目,我想在我的应用程序中进行拆分测试。我希望能够根据传递的查询字符串选择不同的标题图像。例如,如果用户检索以下 url:

http://www.website.com/?header=1

然后我显示标题的图像 A。如果用户像这样检索 url:

http://www.website.com/?header=2

我显示图像 B。我已经通过表达式语言变量在我的 html 中接收到“标题”值。问题是我在 CSS 文件中设置了图像 url。如何将此变量传递给 CSS 文件以加载正确的图像?

PS:我知道我可以在 HTML 文件中应用样式,但我想提取 CSS 文件中的所有样式。

4

5 回答 5

2

除非您使用LESS之类的东西,否则这是不可能的。

您可以做的是制作单独的 CSS 文件,使用查询字符串来确定您对 Java Web 的需求,然后根据情况加载您需​​要的文件。

于 2013-04-01T18:18:01.547 回答
1

如果我正确理解了您的问题,我相信您可以通过根据您从标题中获得的输入将不同的 CSS 类应用于您的标题来做到这一点。

于 2013-04-01T18:22:44.563 回答
1

在 CSS 中为不同的背景标题图像包含 2 个不同的类,然后在编码中应用不同的类。

.header1 {
background-image: url(background1.jpg);
}

.header2 {
background-image: url(background2.jpg);
}
于 2013-04-01T18:32:34.503 回答
0

您有三个基本选项:

  • 根据查询参数切换 CSS 文件,每个标题图像一个 CSS 文件 - 你可以让这些只是设置标题图像,并在自己的文件中拥有静态样式。
  • 使用LESSSASS 之类的东西。
  • 将您的 CSS 编写为 JSP 文件或通过 servlet 动态生成,并在服务器上动态更改样式。
于 2013-04-01T18:21:21.383 回答
0

将您的 CSS 样式分为 3 个部分:

  • common.css
  • header1.css
  • header2.css

根据您的标题,您可以包含任一headerN.css类。您也可以在服务器端(生成不同的包含<head>)或客户端(使用 javascript 提取header值并动态包含正确的 css)解决它

于 2013-04-01T18:26:58.000 回答