The code looks all right, I personally wouldn't put spaces between
RenderComponentField and its parenthesis, but it will work.
If you run this Template in the Template Builder, you can inspect the Output of the separate TBBs, for instance right after your Dreamweaver TBB, your Output should look something like:
<a href="tcm:1-2" tridion:href="tcm:1-2" title="My Title" target="_blank">My Title</a>
<a tridion:href="tcm:1-3" href="dummy.html" class="intro-link"><h2><tcdl:ComponentField name="title" index="0">My Intro</tcdl:ComponentField></h2></a>
Now important to notice is that the outcome of
@@internal@@ should be a valid Component TCMURI.
Then after the Default Finish Actions, the Output should look something like:
<a href="/WebUI/Editors/CME/Views/Popups/Preview/Preview.aspx#id=tcm:1-2" title="My Title" target="_blank">My Title</a>
<a href="/WebUI/Editors/CME/Views/Popups/Preview/Preview.aspx#id=tcm:1-3" class="intro-link"><h2>My Intro</h2></a>
If that all works as expected, check the Publication Target for its Target Language (should not be set to
(None)) and make sure your Page Template has an appropriate extension set (common mistake is to leave that as html, and then any code in there will be ignored by the webserver most of the time).