I also tried it with Frames like this:
<frameset cols="250,*">
<frame name="Navigation" target="Dates" src="tree.jsp">
<frame name="Dates" src="ViewTemplate.jsp">
<noframes>
<body>
<p> no Frames possible </p>
</body>
</noframes>
</frameset>
But this doesn't work. There is nothing on screen.
You can't reference ViewTemplate.jsp directly; you need to reference
one of the top-level files like Wiki.jsp.
The best is to use your first approach, and define a way to store the
state in a cookie so that your tree.jsp knows how to open in the right
bits of the tree opened. You will need to do that anyway in order to
store the state between different visits, so it's not that big of a
problem.
You could also use AJAX, but then you end up with a problem that the
location shown in the address bar will be different than the actual
address of the page you're viewing, and then you're breaking things
like bookmarking and back button, and that's not very nice either.
/Janne