And why do you assign two times to the same val?

    <#assign itemValue = stack.findString(parameters.listValueKey)/>
    <#assign itemValue><@s.text name="${itemValue}"/></#assign>

why not simple do it like this:

    <#assign itemValue = struts.getText(stack.findString(parameters.listValueKey))/>