我有一个提交给JSP的html表单。表单有一个输入,指定背景颜色首选项。在JSP页面上,我尝试使用用户指定的背景颜色,或者,如果他们没有输入任何内容,则使用CSS文件中指定的颜色。这可能吗?
我的jsp中有一个指定CSS文件的位置,所以我知道我可以使用css背景颜色,但如果用户指定颜色,我想忽略'那,并使用他们选择的颜色。
这可能吗?
答案 0 :(得分:0)
您可以通过<link href...>
加载默认的css,然后在页面的<style>
块中添加替换。由于style
块上定义的样式优先于其他样式,因此它将成功覆盖默认值。你可以看到更多关于CSS&#34; cascades&#34; W3C specs上的样式。
在<head>
<link href="default.css" media="all" rel="stylesheet" />
<style>
/* Define custom CSS by the user here */
body{
background-color: <% ... %>;
}
</style>
我想有很多方法可以在JSP中生成正确的输出,但使用JSTL Core IF Tag可以执行以下操作:
<style>
/* Define custom CSS by the user here */
body{
<core:if test="${param.backgroundColor!= null}">
background-color: <%=request.getParameter("backgroundColor")%>
</core:if>
}
</style>
这样,如果用户为background-color
元素选择了自定义h1
,则会覆盖默认值。