0

ログインjspページの作成中に、ユーザー名とパスワードを入力して送信をクリックすると、このエラーが発生します...

org.apache.jasper.JasperException: /loginbean.jsp (line: 9, column: 57) 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:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:89)
org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:280)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:229)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:162)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:153)
org.apache.jasper.compiler.Parser.parseSetProperty(Parser.java:913)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1134)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1451)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1664)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1002)
org.apache.jasper.compiler.Parser.parseUseBean(Parser.java:958)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1136)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1451)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

更新 1

使用されるJSPコードは

<jsp:useBean id="db" scope="request" class="logbean.LoginBean" >

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

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

</jsp:useBean>

4

1 に答える 1

2

スクリプトレット タグに中かっこがありません:

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

次のようにする必要があります。

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

ただし、一般的にはスクリプトレットを使用しないことをお勧めします。このような設定プロパティの使用をバイパスし、paramJSTL で暗黙的なオブジェクトを使用してオブジェクトにアクセスできます。もちろん、これは JSP の残りの部分が何を行っているかによって異なりますが、ベスト プラクティスと見なされます。

例えば:

User name is: <c:out value="${param.userName}" />
于 2012-01-27T18:01:59.923 に答える