Escapar aspas com jspBean não funciona

Olá galera, estou tentando fazer umas simulações com jsp:useBean aqui mas não consigo escapar as aspas neste exemplo:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
		<jsp:useBean id="person" type="foo.Person" class="foo.Employee" scope="page">
			<jsp:setProperty name="person" property="name" value="<%= request.getParameter("userName") %>" />
		</jsp:useBean>
    </body>
</html>

Ocorre este erro:

org.apache.jasper.JasperException: /index.jsp(17,60) Attribute value  request.getParameter("userName")  is quoted with " which must be escaped when used within the value
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
	org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:256)
	org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:205)
	org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:148)
	org.apache.jasper.compiler.Parser.parseSetProperty(Parser.java:889)
	org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1110)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421)
	org.apache.jasper.compiler.Parser.parseBody(Parser.java:1634)
	org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:978)
	org.apache.jasper.compiler.Parser.parseUseBean(Parser.java:934)
	org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1112)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421)
	org.apache.jasper.compiler.Parser.parse(Parser.java:130)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Tentei usando contra barra () antes das aspas duplas colocadas no (“userName”), mas ai nem compila. Não entendi "/

Você pode trocar as aspas duplas da parte html por aspas simples ou escapar no html…

Como assim a “parte html” ? Eu tentei substituir as aspas duplas por simples neste código, tb deu erro.

<jsp:setProperty name="person" property="name" value=\"<%= request.getParameter("userName") %>\" />  

Ou, mais interessante, instancie uma variável e capture o valor deste parâmetro nela, aí fica mais simples

String nome = request.getParameter("userName");
<jsp:setProperty name="person" property="name" value="<%= nome %>" />  

Se fizer da primeira forma, ocorre este erro:

quote symbol expected

Criando uma nova variável funciona, mas cara, ter que criar uma nova variável por isso? Não tem como escapar isso???

[quote=gRoOve]Se fizer da primeira forma, ocorre este erro:

quote symbol expected

Criando uma nova variável funciona, mas cara, ter que criar uma nova variável por isso? Não tem como escapar isso???
[/quote]
Quantas árvores serão derrubadas se você criar uma nova variável?
Enfim, a sugestão foi dada…

Aliás, me ocorreu que você pode trocar o

<jsp:setProperty name="person" property="name" value="<%= request.getParameter("userName") %>" /> 

por

<jsp:setProperty name="person" property="name" value="<% out.print(request.getParameter("userName")); %>" />