1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【java】在jsp的js和css里面使用EL表达式取值|style里面用$取值

【java】在jsp的js和css里面使用EL表达式取值|style里面用$取值

时间:2023-08-04 01:39:28

相关推荐

【java】在jsp的js和css里面使用EL表达式取值|style里面用$取值

众所周知,如果直接在jsp的js或者css语句块里面写${***}取值的话,程序会不识别这玩意,但是,我们有时候确实需要动态取值,比如,js为了获得对象的某一个值,不方便用js的getElementById()方法的话,我们需要这个${**}可能会简便一百倍,那么好吧,我们用jstl标签的<c:out value ='${}'/>来解决这个问题。

例如:我的项目文件里面的jsp页面全部放在工程的WebRoot下的WEB-INF里面,网站发布出去的话,用户是一个页面都看不到的,这更加安全,但是也有一个问题,就是路径会2B,因为全部是靠struts2的配置文件跳到页面去的,所以路径必须动态取值。可是我的css里面,你说该怎么写。

<style type="text/css">

body

{

behavior: url(需要动态取值的项目名/css/hover.htc);background:#fff;

}

</style>

但是你要是直接写

body

{

behavior: url(${pageContext.request.contextPath}/css/hover.htc);background:#fff;

}

程序就不识别了会当做字符串处理,就是一个url路径,很杯具。其实我们换个思路就好了,我们只需要把值取出来即可,就用c:out标签刚刚好,这个原理同样适用于js。如下即是正确的代码,最后的c:out标签别忘了关 --->"<c:out value= ' ${}'/>"

jsp页面头部别忘记引入

<%@ taglib uri="/jsp/jstl/core" prefix="c"%>

最终代码:

body

{

behavior: url(<c:outvalue='${pageContext.request.contextPath}'/>/css/hover.htc);background:#fff;

}

js也是这样,想怎么取值就怎么取值,还有多种标签随你玩,赶紧试试吧。。

varstep="<c:outvalue='${step}'default='0'/>";

switch(step){

case"0":.....................

default:

break;

}

vartotal=<c:outdefault="0"value="${total}"/>;

varorderPrice=<c:outvalue='${packageProductOrder.order.sum}'/>;

<c:setscope="page"var="singleProductSize"value="0"/>

<c:forEachitems="${packageLine.journeys}"var="journeysItem"varStatus="loopStatus">

js部分参考/cilen/article/details/7438291

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。