I always try to stay away from GET urls, because they allow users to pass any data to your application via the URL, and that can be a very bad thing. Here's how I get rid of them:
In the JSP, before creating a table of results, I create one form per row that I want to make a link out of:
<s:iterator value="people">
<s:set name="form_id" value="[0].id"/>
<s:form id='person_%{form_id}' name='person_%{form_id}' action="personProfile">
<s:hidden theme="checkbox-fix" key="id"/>
</s:form>
</s:iterator>Then, create your table as usual, but this in each element:
<tr
class="normalrow"
onmouseover="ChangeColor(this, true);"
onmouseout="ChangeColor(this, false);"
onclick="ChangeColor(this, false); DoSubmit('person_<s:property value="id"/>');"
>Here is the Javascript I use for the functions:
function ChangeColor(tableRow, highLight)
{
if (highLight)
{
tableRow.className = 'highlightedrow';
}
else
{
tableRow.className = 'normalrow';
}
}
function DoSubmit(formId)
{
document.getElementById(formId).submit();
}