# Rundeklammern im Custom-Tag



## MattyDE (8. Okt 2008)

Bisschen komisch irgendwie.. ich hab ne JSP auf der mache ich:

```
<el:tree object="zubehoer" id="10" />
```

im untergrund bau ich mir dann nen link zusammen und geb eigentlich nur das hier zurück:


```
JspWriter out = pageContext.getOut(); 
out.print("[url='#show(zubehoer);id(10)']test[/url]");
```

Der Link wird auch richtig auf meiner Seite dargestellt... klicke ich ihn jedoch werde ich auf

```
#show%28zubehoer%29;id%2810%29
```
 geleitet.

weiß jemand wieso das so ist? ... Ich find leider keine Lösung.

Danke euch


----------



## MattyDE (8. Okt 2008)

Okay, man muss noch dazu sagen, dass ich in dem CustomTag ne Tabelle mit Freemarker zusammenparse und es dort irgendwo knallt...

also gegben ich wirklich nur den Link so zurück wie oben beschrieben, dann geht es... mache ich es mit dem template parsen über Freemarker, dann nicht mehr (obwohl dieses vorgehen an anderer stelle klappt...)


----------



## HLX (8. Okt 2008)

RFC3986


----------



## MattyDE (8. Okt 2008)

Jo ... äähmm.. Danke HLX .. aber was mach ich jetzt mit der RFC?... ich hab ja auch schon probiert direkt %28 im code zu schreiben... aber es kommt nix anderes raus im Browser...


----------



## gex (8. Okt 2008)

kannst du mal den html output posten (abschnitt des links + header bereich, also mit dtd bereich).


----------



## MattyDE (9. Okt 2008)

```
<html xml:lang="en" version="-//W3C//DTD XHTML 1.1//EN" xmlns="http://www.w3.org/1999/xhtml"><head>









  <meta content="application/xhtml+xml;charset=utf-8" http-equiv="content-type"/><title>Meine WebApp-Startseite</title>
  
  

<div class="clearfix" id="box">

 <div style="height: 84%;" id="container">
  <div style="position: relative;" id="content">





   
    
    <div id="XXXTreeBoxControl" style="width: 253px;" class="control_button_div"> [img]./img/icons/zoom_in.png[/img] Vorhandenes Zubehör einblenden</div>
<div id="XXXTreeBox" style="margin: 0px; height: 0px; overflow-x: hidden; overflow-y: auto;"><div style="margin: -250px; height: 0px;">
      
     <table id="XXX_tree_table" class="default_table">
     <caption/>
  <thead>
    <tr>      
      <th/>
      <th/>
      <th>Anschluss 1</th>
      <th>Anschluss 2</th>
      <th>Anzahl</th>
      <th>Preis</th>     
    </tr>
   </thead>
   <tbody>
     <tr>
      <td>Befestigungsart</td>
      <td>[url="#show%28zubehoer%29;id%2859%29"]085000200101[/url] </td>
      <td align="center">Losflansch</td>
      <td align="center"/>
      <td align="right">2</td>
      <td align="right">20 €</td>
     </tr>
     <tr>
      <td>XXX-Verschraubung</td>
      <td>085000200301 </td>
      <td align="center">[img]./img/icons/true.png[/img]</td>
      <td align="center"/>
      <td align="right">1</td>
      <td align="right">0 €</td>
     </tr>
     <tr>
      <td>Befestigungsart</td>
      <td>[url="#show%28zubehoer%29;id%2865%29"]085000200401[/url] </td>
      <td align="center"/>
      <td align="center">Losflansch</td>
      <td align="right">1</td>
      <td align="right">0 €</td>
     </tr>
     <tr>
      <td>Kanalflansch</td>
      <td>085000200111 </td>
      <td align="center">rund</td>
      <td align="center">rund</td>
      <td align="right">2</td>
      <td align="right">20 €</td>
     </tr>
    <tr>
     <td>[b]Gesamtpreis:[/b]</td>
     <td align="right" colspan="10">[b]40 €[/b]</td>
   </tr></tbody>
  </table>
 
</div></div>
```

Hab mal den unnötigen Code entfernt... der Inhalt von "XXXTreeBoxControl" wird per Ajax reingeladen ... 

Danke euch (dir)


----------



## HLX (9. Okt 2008)

MattyDE hat gesagt.:
			
		

> aber was mach ich jetzt mit der RFC?


Lesen.  :wink:  Hier wird die Behandlung von Sonderzeichen in einem URI erläutert.



			
				MattyDE hat gesagt.:
			
		

> ... ich hab ja auch schon probiert direkt %28 im code zu schreiben... aber es kommt nix anderes raus im Browser...


Ich stehe scheinbar irgendwie auf dem Schlauch. Wo ist jetzt eigentlich dein Problem? Was für ein Fehler tritt auf? Was stört dich an der Maskierung der Sonderzeichen? Du hast geschrieben, es knallt irgendwo. Wie äußert sich das?


----------



## MattyDE (9. Okt 2008)

Sorry, wenn ichs etwas komisch / undeutlich beschrieben hab.

im dem Output sind ja jetz die Klammern maskiert (was ich eigentlich ja gar nicht will)

So sieht diese Zeile mit Freemarker Template aus:

```
<td>${row.nummer} </td>
```

und row.nummer fülle ich so:

```
nummer  = String.format("[url='#show(zubehoer);id(%s)']%s[/url]", pos.getId().toString(), pos.getNummer());
```

und jetz weiß ich halt net wieso er mir jetzt an der stelle dann die Rundenklammern zu den maskierten Zeichen macht (weil das mach ich ja an mehreren Stellen... und da klappt es immer ...)

Mhmm.... 


Danke euch


----------



## gex (9. Okt 2008)

Ich gehe jetzt mal in der Annahme, dass du irgend was mit JavaScript machen möchtest - (e.g. 'show(zubehoer)' ).

JavaScript gehört nicht wirklich ins href-Attribute, sondern ins onclick oder bei welchem Event du das eben haben möchtest.

Kenne Freemarker nicht wirklich, aber ich nehme an, dass er zu recht alles im href-Attribut RFC konform maskiert.

Oder was willst du erreichen?


----------



## MattyDE (10. Okt 2008)

Oh stell diese Frage lieber nicht... aber Es ist ja nicht so als würde ich das an andere Stelle nicht schon mit Freemarker machen,
und hier auch die runden Klammern nutzen.

Das ist ein "ganz normaler" Link den mir dann per JS interpretiert wird damit ich auf ajax-One-Page-Applikationen trotzdem browsen kann mit vor und zurück... Allerdings hat das ja mit meinem Problem leider nix zu tun :/


Grüße


----------



## MattyDE (10. Okt 2008)

Puuhh... ich habs jetzt hinbekommen.. das ganze lag am JavaScript dass da noch durchgeht ... hier hab ich ein box.innerHTML = element.innerHTML; und dabei passierts dann.. jetzt hab ich das ganze über cloneNode etc. gelöst und es klappt.

Danke euch (trotzdem) für die Hilfe!


----------

