html或者js文件中jquery及其他脚本语言与velocity变量中的$冲突的解决方法

问题描述:

在使用velocity模版引擎的环境下,使用jquery时,如:$.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/sfzc1%40realintelligence.com/public/basic')

其中$与velocity变量中的$冲突。

解决方案:

定义一个velocity变量:#set($jquery="$.") 然后:${jquery}fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/sfzc1%40realintelligence.com/public/basic'),利用veloctiry模板引擎的替换原则,html代码第一次编译成$.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/sfzc1%40realintelligence.com/public/basic'),被替换之后二次编译,代码没有任何问题。

综上所述应了一个真理:“解铃还需系铃人” 

可以把一个具体方法定义成一个变量,例子:

#set($scope="$scope")
#set($timeout="$timeout")
#set($log="$log")
#set($uibModal="$uibModal")
#set($promise="$promise")

 

在默认使用$scope时,可能会冲突,改为 ${scope} ,这样转义过来后。 还是字符串    $scope

 

posted @ 2022-03-07 18:33  自学java的小陈  阅读(132)  评论(0编辑  收藏  举报