You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Stefano Bonnin <sh...@libero.it> on 2001/07/23 16:38:45 UTC
xsp:expr and "method/variable scope"
Hi I have a problem with xsl:expr and "method scope" (I think). (I use
Tomcat 3.2.1 and Cocoon 1.8)
This is the code
<?xml version="1.0"?>
<?xml-stylesheet href="xml2html.xsl" type="text/xsl"?>
<?xml-stylesheet href="xml2wml.xsl" type="text/xsl" media="wap"?>
<?cocoon-process type="xsp"?>
<?cocoon-process type="xslt"?>
<xsp:page
language="java"
xmlns:esql="http://apache.org/cocoon/SQL/v2"
xmlns:xsp="http://www.apache.org/1999/XSP/Core">
<xsp:structure>
<xsp:include>smit.cde.admin.query.Query</xsp:include>
<xsp:include>smit.cde.admin.query.QueryImpl</xsp:include>
<xsp:include>smit.cde.admin.type.TypeCP</xsp:include>
<xsp:include>smit.tdx.TdxObject</xsp:include>
<xsp:include>smit.user.InfoUser</xsp:include>
</xsp:structure>
<page>
<xsp:logic>
//Session
HttpSession ses = request.getSession(false);
InfoUser userInfo = (InfoUser) ses.getValue("Informations");
String id = (String) userInfo.getUserId();
</xsp:logic>
<!-- The following operations update the user profile -->
<esql:execute-query>
<esql:driver>sun.jdbc.odbc.JdbcOdbcDriver</esql:driver>
<esql:dburl>jdbc:odbc:Users</esql:dburl>
<esql:query>
update users set country = '
<xsp:expr>request.getParameter("country")</xsp:expr>' where user =
'<xsp:expr>userInfo.getUserId()</xsp:expr>' and password = 'password'
</esql:query>
</esql:execute-query>
<nextsection>
***New URL***
</nextsection>
</page>
when I try to compile the page I receive the following error:
java.lang.Exception: XSP Java Compiler: Compilation failed for
_compute_position.java
113: Undefined variable or class name: userInfo
+ userInfo.getUserId()
^
Note:
C:\foo\Tomcat\repository\_C_\_foo\_Tomcat\_webapps\_Cocoon\_samples\_Smit\_c
ompute_position.java uses or overrides a deprecated API. Recompile with
"-deprecation" for details.
1 error, 1 warning
at
org.apache.cocoon.processor.xsp.language.java.XSPJavaProcessor.compile(XSPJa
vaProcessor.java, Compiled Code)
at java.lang.Exception.(Exception.java, Compiled Code)
at
org.apache.cocoon.processor.xsp.language.java.XSPJavaProcessor.compile(XSPJa
vaProcessor.java, Compiled Code)
at org.apache.cocoon.processor.xsp.XSPProcessor.process(XSPProcessor.java,
Compiled Code)
at org.apache.cocoon.Engine.handle(Engine.java, Compiled Code)
at org.apache.cocoon.Cocoon.service(Cocoon.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java,
Compiled Code)
at org.apache.tomcat.core.Handler.service(Handler.java, Compiled Code)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java,
Compiled Code)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java,
Compiled Code)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java,
Compiled Code)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java, Compiled Code)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
at java.lang.Thread.run(Thread.java, Compiled Code)
why? How can I use userInfo within esql:query tag?
Thanks.
---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org