google engine bookshelf app java jsp google-app-engine session

java - engine - bookshelf google cloud



El método print(boolean) en el tipo JspWriter no es aplicable para los argumentos(void) (1)

<%= %> espera una expresión, cuyo valor se imprime en el escritor de JSP. El seguimiento

<%= foo %>

es por lo tanto equivalente a

out.print(foo); request.getSession(true).setAttribute("state","firstNumber")

es una expresión cuyo tipo es vacío. Y no puedes imprimir un vacío.

Lo que quieres es simplemente

<% request.getSession(true).setAttribute("state","firstNumber") %>

Pero, por supuesto, como se ha repetido innumerables veces, los scriptlets no deberían usarse en un JSP. Los JSP son componentes de vista que solo deberían generar HTML utilizando JSP EL, JSTL y otras etiquetas personalizadas. Sin mencionar que establecer atributos de sesión es, en general, una mala idea, y es incluso más una mala idea en un componente de vista, que no debería tener ningún efecto secundario que no sea imprimir al escritor JSP.

Hola, estoy frente a un error llamado "El método print (boolean) en el tipo JspWriter no es aplicable para los argumentos (void)" con mi código JSP en GAE.

En línea: <%= request.getSession(true).setAttribute("state","firstNumber") %>

Aquí está el código:

`

<c:when test=''${param.event == "NewCall"}''> <% Response resp1=new Response(); CollectDtmf cd= new CollectDtmf(); cd.addPlayText("Welcome. Please enter the first number. Terminate with #"); resp1.addCollectDtmf(cd); %> <%= request.getSession(true).setAttribute("state","firstNumber") %> <% out.println(resp1.getXML()); %> </c:when>

`

Por favor, díganme qué estoy haciendo mal aquí. Gracias