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]