Hi Caroline,
have you checked the source of the HTML page in the browser to see what the value of username is, client-side? I expect the value is being sent to the browser as null.


If that is the case, it is because request.getRemoteUser() is returning null and that would be because you don't have or are losing your login session.

Adam

On 12/08/2003 10:32 PM Caroline Jen wrote:
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:

<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>

and an action mapping:

<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>


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 <[EMAIL PROTECTED]> wrote:


I want to pass two hidden fields; username and
keyName
from a JSP via a SUBMIT button:

<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>

and an action mapping:

<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>

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 );

} // end execute

} // End FindEditorData



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to