I must pass the result of request.getRemoteUser() because it is a "Java class" that "receives" the hidden field. If you read my code carefully, you will see that FindEditorData.java is a Java class and I cannot use 'request' or 'session' in a Java class. It takes a servlet or a class extends Action to use 'request' or 'session'.
But, this class is of ProcessAction type defined in the struts-config.xml: <action roles="editor" path="/find/Category" type="org.apache.struts.scaffold.ProcessAction" parameter="org.apache.artimus.article.FindEditorData" name="articleForm" scope="request" validate="false"> <forward name="success" path=".article.Result"/> </action> And, it is easy to see that I use container-managed authentication. In my JSP, there is <req:isUserInRole role="editor"> before reaching <% String username=request.getRemoteUser(); %> Again, I have provided my code: <req:isUserInRole role="editor"> <html:form action="/find/Category"> <% String username = request.getRemoteUser(); %> <html:hidden property="keyName" value="journal_category"/> <html:hidden property="username" value="<%=username%>"/> <html:submit>View Articles</html:submit> </html:form> </req:isUserInRole> --- Richard Yee <[EMAIL PROTECTED]> wrote: > Caroline, > Why are you passing the result of > request.getRemoteUser() in a hidden > variable anyway since it is available as part of the > HttpRequest and thus > will be available in the action class? > > -Richard > > At 02:55 PM 12/8/2003, you wrote: > >I pass two hidden fields: username and keyName at > the > >same time. The keyName is passed and with the > correct > >value in it. The username is passed but its value > >turns out to be a null. > > > >It is impossible for request.getRemoteUser(); in my > >JSP returning a null. (see code below) Before it > >reaches request.getRemoteUser(); the user has > already > >been successfully logged in with a valid name. > > > ><req:isUserInRole role="editor"> > ><% String username = request.getRemoteUser();%> > value="journal_category"/> > >value="<%=username%>"/> View Articles > >--- "Yee, Richard K,,DMDCWEST" wrote: > Caroline, > > Are you having > >problems with the username or the > keyName hidden > variable? If > it is > >the username, then I'd suspect that > > request.getRemoteUser() in your > > >JSP is returning null. > > Regards, > > Richard > > > -----Original > >Message----- > From: Caroline Jen > [mailto:[EMAIL PROTECTED] > Sent: > >Monday, December 08, 2003 1:32 PM > To: Struts > Users Mailing List > > >Subject: Re: Please Help! Unable to Pass A Hidden > > Field To > > >scaffold.ProcessAction > > > I did not mess up > lowercase and uppercase of > >the > hidden field I want to pass from my JSP to > the > > >scaffold.ProcessAction. If > it had been the > lowercase/uppercase problem, > >I would > have gotten a message > saying that the > variable could not be > >recognized. > > I pass two hidden fields at the > same time. One of > them > >is successfully passed with correct value. The > > other is passed but its > >value shows a 'null' in the > > scaffold.ProcessAction. > What could go > >wrong? Let me show my code again: > > Two hidden > fields: username and > >keyName are passed > from a JSP via a SUBMIT > button: > > > > <% String > >username = request.getRemoteUser();%> > > value="journal_category"/> > > >value="<%=username%>"/> > View Articles > > > > and > an action mapping: > > > >roles="editor" > path="/find/Category" > > > >type="org.apache.struts.scaffold.ProcessAction" > > > > >parameter="org.apache.artimus.article.FindEditorData" > > > >name="articleForm" > scope="request" > > validate="false"> > > >name="success" > path=".article.Result"/> > > > The > value of the > >'username' is found to be a 'null' > in > the > FindEditorData.java while > >the value of keyName > is successfully > retrieved. > In the browser, I > >got: > > name=null; kn=journal_category; kv=null > > > The code of my > >FindEditorData is shown below: > > public final > class FindEditorData > >extends Bean > { > public Object execute() throws > Exception > { > > // > >Obtain username > String username = getUsername(); > > > EditorService > >service = new EditorService(); > String value = > service.findEditorData( > >username > ); > > String property = getKeyName(); > > > if (( null==property > >) || ( null==value )) > { > StringBuffer sb = new > StringBuffer(); > > >sb.append( "name=" ); > sb.append( username ); > > sb.append( "; kn=" ); > > >sb.append( property ); > sb.append( "; kv=" ); > > sb.append( value ); > > >throw new ParameterException( > sb.toString() ); > > } > > ResultList list = > >new ResultListBase > ( > > Access.findByProperty( > > this,property,value > > >) > > ); > list.setLegend( property,value ); > > > return new > >ProcessResultBase( list ); > > } // end execute > > > } // End > >FindEditorData > > > > --- Caroline Jen wrote: > > > I want to pass two > >hidden fields; username and > > keyName > > from a > JSP via a SUBMIT > >button: > > > > > > > > <% String username = > >request.getRemoteUser();%> > > > > value="journal_category"/> > > > > >value="<%=username%>"/> > > View Articles > > > > > > > > > and an action > >mapping: > > > > > roles="editor" > > > path="/find/Category" > > > > > >type="org.apache.struts.scaffold.ProcessAction" > > > > > > > >parameter="org.apache.artimus.article.FindEditorData" > > > > >name="articleForm" > > scope="request" > > > validate="false"> > > > > >name="success" > > path=".article.Result"/> > > > > > > > How come the > >username is not passed to the > FindEditorData.java > while > > the keyName > >is successfully > > passed. In the browser, I got: > > > > > name=null; > >kn=journal_category; kv=null > > > > The code of my > FindEditorData is > >shown below: > > > > public final class > FindEditorData extends Bean > > > >{ > > public Object execute() throws Exception > > > { > > > > // Obtain > >username > > String username = getUsername(); > > > > > EditorService > >service = new EditorService(); > > String value = > service.findEditorData( > >username > > ); > > > > String property = > getKeyName(); > > > > if (( > >null==property ) || ( null==value )) > > > { > > > StringBuffer sb = new > >StringBuffer(); > > sb.append( "name=" ); > > > sb.append( username ); > > > >sb.append( "; kn=" ); > > sb.append( property ); > > > sb.append( "; kv=" > >); > > sb.append( value ); > > throw new > ParameterException( > > > >sb.toString() ); > > } > > > > ResultList list = > new ResultListBase > > > >( > > > > Access.findByProperty( > > > this,property,value > > ) > > > > > >); > > list.setLegend( property,value ); > > > > > return new > >ProcessResultBase( list ); > === message truncated > === > >__________________________________ Do you Yahoo!? > New Yahoo! Photos - > >easier uploading and sharing. > http://photos.yahoo.com/ > >--------------------------------------------------------------------- > To > >unsubscribe, e-mail: > [EMAIL PROTECTED] For > >additional commands, e-mail: > [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > __________________________________ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]