2013-06-18 4 views
1

Je travaille sur une application Web en utilisant JSP et JSTL dans la couche de présentation. Quand je reçois html du designer, mon fichier jsp est mis à jour comme suit:remplacer href et url par le <c:url /> tag

... 
<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> 
... 

Il y a beaucoup href/url sans <c:url /> (je ne montre pas le fichier entier car il est très long). Je veux remplacer tous href/url avec la balise <c:url /> mais #, / et l'URL complète. Par exemple

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

devrait devenir

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

Quelqu'un peut-il me suggérer quelques modèles pour la recherche/remplacement dans Notepad ++ ou Eclipse?

Répondre

1

Notepad ++:

Vous pouvez l'utiliser dans find:

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

Et remplacer, vous pouvez utiliser:

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

Le ^^ indique où est inséré le groupe capturé.

EDIT: Pour correspondre à la fois href et src, vous utiliserez ceci:

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

Et remplacer:

\1="<c:url value="/fo/\2 />" 
+0

Merci Jerry, mais votre modèle correspond 'href = « # »' aussi bien! (Je ne veux pas remplacer ce href) –

+0

Merci Jerry pour rapidement commentaire. Il fonctionne bien, sauf pour le cas 'href ="/"' –

+0

@TuanDang Hmm, eh bien, je suppose que vous évitez ces caractères un long 'href', il pourrait être préférable d'utiliser 'href =" ([^ "<] {2,} ")' à la place – Jerry

0

Dans Eclipse vous pourriez

Trouver href="([^#][^\"]+)"

Remplacer avec href="<c:url value="$1" />"

Bien que je pense que parce que vous avez des citations entre guillemets, vous pouvez être mieux faire

Remplacer par href="<c:url value='$1' />"

+0

Merci Nate, mais votre modèle correspond' href = "#" 'aussi! –

+0

Merci pour le crochet, je vais éditer ma réponse –

+0

votre nouveau motif' href = "([^ #] [^ \"] +) "' correspond 'href ="

Questions connexes