Struts (Action + Form) + AJAX

formularioTeste.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html:html>
    <head>
    <script src="js/comportamento.js" type="text/javascript"></script>    
    </head>
<body>
    <html:form action="/cadastraContato" focus="contato.nome">
        Qual é seu nome?
        <html:text property="contato.nome"/><br><br>
                
        Qual é seu email?
        <html:text property="contato.email"/><br><br>
        
        Qual é seu endereço?
        <html:text property="contato.endereco"/><br><br>
            
        <html:submit onclick="verificaCampos()">Enviar Dados</html:submit><br>
            </html:form>
            
        <div id="exibeResultado">
            Em espera...
        </div>
        </body>
    </html:html>

Como faço para definir um nome para os campos?De modo que eu posso utilizar depois o JS para validar esses campos? Se eu coloco assim:

<html:text property=“contato.nome” name=“teste” />
Dá erro

Primeiro: Você está trabalhando com Struts1 ou Struts2?

Para vc pegar um atributo em JS coloca um id na Tag.

<html:text property="contato.nome" name="teste"  id="testando"/> 

E no teu JS para pegar o cara use:

 NomeDoFormulario.getElementeById("testendo") .

Usando isso, dá o seguinte erro:

org.apache.jasper.JasperException: /formularioTeste.jsp(20,8) Attribute id invalid for tag text according to TLD