Error al analizar XHTML: el contenido de los elementos debe consistir en datos de caracteres o marcas bien formados

Como una extensión de estopregunta, Estoy tratando de insertar Javascript en un<h:commandButton />'sonclick propiedad comoaction ya está representando una tabla ajax.

Lo que quiero hacer: obtener los elementos seleccionados en un cuadro de lista y convertirlos en parámetros para usar en un JSFFileServlet. es decirpara2=value1&param=value2&param=value3

Esto es lo que tengo:

<script type ="text/javascript">
function myScript() {
    var box = document.getElementbyId('myForm:box');
    var length = box.options.length;
    var paramstring = "";
    for (var i = 0; i < length; i++) {
        if (i != (length - 1) {
            if (box.options[i].selected) {
                paramstring = paramstring + "param=" + box.options[i].value + "&amp;";
            }
        } else {
            paramstring = paramstring + "param=" + box.options[i].value;
        }
    }
    if (document.getElementById('myForm:checkbox').checked) {
        window.location='fileServlet? + paramstring;
    }
}
</script>  

Lo que obtengo cuando se carga la página:javax.servlet.ServletException: Error Parsing /page.xhtml: Error Traced[line:15] The content of elements must consist of well-formed character data or markup.

Lo que no desencadena la excepción:

<script type ="text/javascript">
function myScript() {
    var box = document.getElementbyId('myForm:box');
    var length = box.options.length;
    var paramstring = "";

    if (document.getElementById('myForm:checkbox').checked) {
        window.location='fileServlet? + paramstring;
    }
}
</script> 

Tan pronto como agreguefor (var i = 0; i < length; i++) o inclusofor (var i = 0; i < 10; i++) la página no se cargaba. ¿Por qué no le gusta el bucle for?

Respuestas a la pregunta(4)

Su respuesta a la pregunta