1

我正在开发一个在表示层中使用 JSP 和 JSTL 的 Web 应用程序。当我从设计师那里得到 html 时,我的 jsp 文件更新如下:

...
<link rel="stylesheet" type="text/css" href="<c:url value="/fo/inc-css/normalize.css"/>" />
<link rel="stylesheet" type="text/css" href="<c:url value="/fo/inc-css/font.css"/>" />
<link rel="stylesheet" type="text/css" href="inc-css/jquery.jscrollpane.css" />
<link rel="stylesheet" type="text/css" href="inc-css/csspie.css" />
...
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="inc-js/plugins.js" type="text/javascript"></script>
<script src="inc-js/plugins/jquery.fitvids.js" type="text/javascript"></script>
<script src="inc-js/plugins/jquery.bxslider.min.js" type="text/javascript"></script>
...
<h1><a href="/" title="Home Page">Home Page</a></h1>
...
<ul>
    <li><a href="#" title="LOG OUT">Log out</a></li>
    <li><a href="#" title="My Profile">My Profile</a></li>
    <li><a href="#" title="Help">Help</a></li>
    <li><a href="#" title="Contact Us">Contact Us</a></li>
</ul>
...

有很多 href/url 没有<c:url />(我没有显示整个文件,因为它很长)。我想用<c:url />标签替换所有 href/url#/完整的 url。例如

href="inc-css/jquery.jscrollpane.css"  

应该成为

href="<c:url value="/fo/inc-css/jquery.jscrollpane.css" />"

谁能建议我一些在 Notepad++ 或 Eclipse 中搜索/替换的模式?

4

2 回答 2

1

记事本++:

您可以在 find 中使用它:

href="([^"<]{2,}")

在替换中,您可以使用:

href="<c:url value="/fo/\1 />"
                        ^^

^^指示正在插入捕获的组的位置。

编辑:要同时匹配hrefsrc,您将使用以下命令:

(href|src)="([^"<]{2,}")

并替换:

\1="<c:url value="/fo/\2 />"
于 2013-06-18T17:23:56.993 回答
0

在 Eclipse 中你可以

寻找href="([^#][^\"]+)"

用。。。来代替href="<c:url value="$1" />"

尽管我认为因为引号内有引号,但最好还是这样做

用。。。来代替href="<c:url value='$1' />"

于 2013-06-18T17:28:17.157 回答