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]

Reply via email to