从scriptlet访问css属性?

时间:2013-01-14 05:57:49

标签: javascript html css image scriptlet

CSS

.myStyle {
height: 10px;
background-image: url(../myImage.png);
}

JSP

<img class=myStyle src=<% imageurl != null ? imageurl: (bacground-image property from my css)%> >

有没有办法实现这个目标? 我不想在我的代码中硬编码默认网址,只允许更改css属性来更改默认图片。

1 个答案:

答案 0 :(得分:0)

你真正想要的是一个属性文件 - 例如像http://www.easywayserver.com/blog/java-resourcebundle-properties-file-jsp/

# image default
myimage.default=../myImage.png

<%@ page language="java" import="java.util.*" %>
<%
ResourceBundle resource = ResourceBundle.getBundle("commonVariable");
/// commonVariable.properties file will be in WEB-INF/classess  folder

String defaultImage=resource.getString("myimage.default");
.
.
.
if (imageurl==null) imageurl=defaultImage;

%>

<img class="myStyle" src="<%= imageurl  %>" />

替代方案,如果你必须

https://stackoverflow.com/a/2104580/295783

function setImageFromBG(img) {
  var style = img.currentStyle || window.getComputedStyle(img, false),
  img.src = style.backgroundImage.slice(4, -1);
}

<img class="myStyle" src="<%= imageurl %>" onerror="setImageFromBG(this)" />

如果bgimage代码也无法提供良好的图像,则可能会循环