struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Lea <ja...@kumachan.net.nz>
Subject Re: LookupDispatchAction problem
Date Wed, 23 Jul 2003 22:14:21 GMT
Tim Clotworthy wrote:
> This is really a simple aside, but is there a way to have the text
> (label) of the button appear different that the value of the submit, and
> if so, how does one do it? Thanks.

Yes and no.

The HTML 4.0.1 standard allows you to specify a <button> tag which does 
this but IE doesn't support it properly.  Mozilla supports it correctly 
though.  I have only checked with IE6 and Mozilla 1.3/1.4.

The button tag can even include different styles and images on the button eg

<button name="method" value="myValue" type="submit">this is a 
<b>button</b>, click me</button>

Problems I found with IE's support of the button tag:
1. The default type should be 'submit' from the standard, but IE treats 
it as 'button' so it doesn't cause the form to submit.  Fixed by adding 
the type="submit" to the tag

2. (the problem that stops me using it) If you have more than 1 button 
tag in your form all the button values will be included when the form 
submits - which makes it useless.

Eg if i have the following buttons:

<button name="method" value="update" type="submit">update me</button>
<button name="method" value="delete" type="submit">delete me</button>

I click the 'update me' button, IE will submit the following values 
method=update&method=delete, when it should only send method=update.

check out the spec here:
http://www.w3.org/TR/html401/interact/forms.html#edef-BUTTON

--Jason Lea


> 
>>-----Original Message-----
>>From: Tim Clotworthy [mailto:tclotworthy@bka-inc.com]
>>Sent: Wednesday, July 23, 2003 5:07 PM
>>To: 'Struts Users Mailing List'
>>Subject: RE: LookupDispatchAction problem
>>
>>Thanks for all help. It is fixed now. God bless you, one and all.
>>
>>
>>>-----Original Message-----
>>>From: Suzette Daniel [mailto:sdaniel@waca.com]
>>>Sent: Wednesday, July 23, 2003 5:01 PM
>>>To: 'Struts Users Mailing List'
>>>Subject: RE: LookupDispatchAction problem
>>>
>>>No prob, here you go:
>>>
>>><logic:notPresent name="org.apache.struts.action.MESSAGE"
>>>scope="application">
>>>    ERROR:  Application resources not loaded -- check servlet
>>
>>container
>>
>>>    logs for error messages.
>>></logic:notPresent>
>>>
>>>Suzette
>>>
>>>-----Original Message-----
>>>From: Tim Clotworthy [mailto:tclotworthy@bka-inc.com]
>>>Sent: Wednesday, July 23, 2003 5:00 PM
>>>To: 'Struts Users Mailing List'
>>>Subject: RE: LookupDispatchAction problem
>>>
>>>
>>>Thanks, but I switch it to method, and same error occurs.
>>>
>>>Again, I wonder if my problem is related to my resource bundle, not
>>
>>being
>>
>>>able to find it, etc. How can I simply diagnose that the tag
>>
>><bean:message
>>
>>>key="button.add" /> is being processed properly by the ActionServlet
>>>(value
>>>being found, etc.). thanks. Sorry for this going on-and-on. Who
>>
>>knew...
>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: Suzette Daniel [mailto:sdaniel@waca.com]
>>>>Sent: Wednesday, July 23, 2003 4:43 PM
>>>>To: 'Struts Users Mailing List'
>>>>Subject: RE: LookupDispatchAction problem
>>>>
>>>>I received the same error, so I switched to using my own property
>>>
>>>"method"
>>>
>>>>and if fixed that error.
>>>>
>>>>JSP:
>>>>	<html:submit property="method"
>>>>titleKey="verify.order.add.another.button.title">
>>>> 		<bean:message key="button.add" />
>>>> 	</html:submit>
>>>>
>>>>>Struts-config:
>>>>>	......
>>>>>    <action path="/doOrderVerification" name="monitorInfoForm"
>>>>>input="/pages/verifyorder.jsp" parameter="method"
>>>>>type="com.waca.nec.consumer.actions.StoreProductDispatchAction"
>>>>>scope="session">
>>>>
>>>>Suzette
>>>>
>>>>-----Original Message-----
>>>>From: Tim Clotworthy [mailto:tclotworthy@bka-inc.com]
>>>>Sent: Wednesday, July 23, 2003 4:40 PM
>>>>To: 'Struts Users Mailing List'
>>>>Subject: RE: LookupDispatchAction problem
>>>>
>>>>
>>>>Thanks to all earnest responses. I still have a problem, but it
> 
> has
> 
>>>>evolved a little. I have simplified the syntax (using husted tip
>>
>>003),
>>
>>>>so that
>>>
>>>my
>>>
>>>>jsp has:
>>>>
>>>><html:submit>
>>>><bean:message key="button.selectOrgs"/>
>>>></html:submit>
>>>>
>>>>(as he suggested, using the default name of submit that
> 
> corresponds
> 
>>to
>>
>>>the
>>>
>>>><html:submit> tag, and in my struts-config, I now have:
>>>>
>>>><action path="/SupportOrgDispatchAction"
>>>>
>>>
> type="com.hotapp.fes.presentation.support.action.FESSupportOrgDispatchAc
> 
>>>>tion" name="SupportOrgForm" parameter="submit">
>>>><forward name="NextPage" path="/fes/jsp/FESSupportOrgTable.jsp"/>
>>>></action>
>>>>
>>>>and in my action I have:
>>>>
>>>>protected Map getKeyMethodMap() {
>>>>
>>>>Map map = new HashMap();
>>>>map.put("button.selectOrgs", "selectOrgs");
>>>>return map;
>>>>}
>>>>
>>>>
>>>>But alas, I am still getting an error (below). I wonder if my
>>
>>resource
>>
>>>>bundled is not being read properly, because the button on the form
>>>
>>>appears
>>>
>>>>with the tag syntax "<bean:message key" (obviously red flag
>>
>>something
>>
>>>is
>>>
>>>>wrong), rather than the value from the properties file. How can I
>>>
>>>check
>>>
>>>>that
>>>>the property button.selectOrgs is being found in the resource
>>
>>bundle,
>>
>>>or,
>>>
>>>>for that matter, that the resource bundle is being found at all?
>>>>
>>>>
>>>>Thanks so much to all.
>>>>
>>>>javax.servlet.ServletException: Request[/SupportOrgDispatchAction]
>>>
>>>does
>>>
>>>>not
>>>>contain handler parameter named submit
>>>>	at
>>>>
>>>
> org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAct
> 
>>>>ion.java:199)
>>>>	at
>>>>
>>>
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
> 
>>>>ocessor.java:480)
>>>>	at
>>>>
>>>
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
> 
>>>>274)
>>>>	at
>>>>
>>>
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
> 
>>>>	at
>>>>
>>
>>org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
>>
>>>>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>>>>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>>>	at
>>>>
>>>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> 
>>>>tionFilterChain.java:247)
>>>>	at
>>>>
>>>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> 
>>>>erChain.java:193)...blah...blah
>>>>
>>>>
>>>>
>>>>>-----Original Message-----
>>>>>From: Suzette Daniel [mailto:sdaniel@waca.com]
>>>>>Sent: Wednesday, July 23, 2003 4:19 PM
>>>>>To: 'Struts Users Mailing List'
>>>>>Subject: RE: LookupDispatchAction problem
>>>>>
>>>>>With LookupDispatch you don't have to use a hidden tag. I think
>>
>>the
>>
>>>>>problem might be in your action itself. Look at Ted's
>>>>>tip(http://husted.com/struts/tips/003.html) and below is a
> 
> working
> 
>>>>sample.
>>>>
>>>>>JSP:
>>>>>	<html:submit property="method"
>>>>>titleKey="verify.order.add.another.button.title">
>>>>>		<bean:message key="button.add" />
>>>>>	</html:submit>
>>>>>
>>>>>Struts-config:
>>>>>	......
>>>>>    <action path="/doOrderVerification" name="monitorInfoForm"
>>>>>input="/pages/verifyorder.jsp" parameter="method"
>>>>>type="com.waca.nec.consumer.actions.StoreProductDispatchAction"
>>>>>scope="session">
>>>>>      <forward name="dontsaveproduct"
>>>>
>>>>path="/pages/choosemonitor.jsp"/>
>>>>
>>>>>      <forward name="add" path="/pages/choosemonitor.jsp"/>
>>>>>      <forward name="checkout" path="/pages/contactinfo.jsp"/>
>>>>>    </action>
>>>>>	....
>>>>>
>>>>>ACTION:
>>>>>public class StoreProductDispatchAction extends
>>
>>LookupDispatchAction
>>
>>>>{
>>>>
>>>>>........
>>>>>	protected Map getKeyMethodMap() {
>>>>>		Map map = new HashMap();
>>>>>		map.put("button.add",
> 
> AppConstants.ACTION_KEY_ADD);
> 
>>>>>		map.put("button.checkout",
>>>>
>>>>AppConstants.ACTION_KEY_CHECK_OUT);
>>>>
>>>>>		map.put("button.continue.shopping",
>>>>>AppConstants.ACTION_KEY_DONT_SAVE);
>>>>>		return map;
>>>>>	}
>>>>>
>>>>>	public ActionForward add(ActionMapping mapping,
> 
> ActionForm
> 
>>form,
>>
>>>>>HttpServletRequest request, HttpServletResponse response) throws
>>>>>IOException, ServletException {
>>>>>		//DO STUFF
>>>>>		return
> 
> mapping.findForward(AppConstants.ACTION_KEY_ADD);
> 
>>>>>	}
>>>>>
>>>>>	public ActionForward checkout(ActionMapping mapping,
>>
>>ActionForm
>>
>>>>form,
>>>>
>>>>>HttpServletRequest request, HttpServletResponse response) throws
>>>>>IOException, ServletException {
>>>>>		//DO STUFF
>>>>>		return
>>>>
>>>>mapping.findForward(AppConstants.ACTION_KEY_CHECK_OUT);
>>>>
>>>>>	}
>>>>>
>>>>>	public ActionForward dontsaveproduct(ActionMapping
> 
> mapping,
> 
>>>>>ActionForm form, HttpServletRequest request, HttpServletResponse
>>>>
>>>>response)
>>>>
>>>>>throws IOException, ServletException {
>>>>>		//DO STUFF
>>>>>		return
>>>>
>>>>mapping.findForward(AppConstants.ACTION_KEY_DONT_SAVE);
>>>>
>>>>>	}
>>>>>
>>>>>Suzette
>>>>>
>>>>>
>>>>>-----Original Message-----
>>>>>From: Rick Reumann [mailto:r@reumann.net]
>>>>>Sent: Wednesday, July 23, 2003 4:01 PM
>>>>>To: Struts Users Mailing List
>>>>>Subject: Re: LookupDispatchAction problem
>>>>>
>>>>>
>>>>>On Wed, Jul 23,'03 (03:44 PM GMT-0400), Tim wrote:
>>>>>
>>>>>
>>>>>>I am getting the following exception:
>>>>>>
>>>>>>SupportOrgDispatchAction] does not contain handler parameter
>>
>>named
>>
>>>>>>method
>>>>>>
>>>>>>For this actionmapping:
>>>>>>
>>>>>><action path="/SupportOrgDispatchAction"
>>>>>>
>>>>>>
>>>>
>>type="com.hotapp.fes.presentation.support.action.FESSupportOrgDispatc
>>
>>>>>>hAc tion"
>>>>>>   name="SupportOrgForm" parameter="method">
>>>>>>    <forward name="NextPage"
>>>>
>>>>path="/fes/jsp/FESSupportOrgTable.jsp"/>
>>>>
>>>>>></action>
>>>>>>
>>>>>>against these tags in my jsp:
>>>>>>
>>>>>><html:submit property="method" value="    Query     ">
>>>>>><bean:message key="button.selectOrgs">
>>>>>></html:submit>
>>>>>>
>>>>>>This is my first crack at subclassing the
> 
> LookupDispatchAction.
> 
>>>Any
>>>
>>>>>>ideas as to what I am doing wrong are greatly appreciated.
>>
>>Thanks.
>>
>>>>>
>>>>>Are you sure you are passing in the form variable called
> 
> "method"
> 
>>?
>>
>>>>>Make sure on the form that submits you have at the least a
> 
> hidden
> 
>>>>variable
>>>>
>>>>>called "method" ie..
>>>>>
>>>>><html:hidden property="method" value="updateOrWhatever"/>
>>>>>
>>>>>and then of course make sure the associated form has get/sets
> 
> for
> 
>>>>"method"
>>>>
>>>>>(side note: I like to use the parameter name "dispatch" instead
> 
> of
> 
>>>>method,
>>>>
>>>>>although on my little tutorials I used the parameter
>>
>>"methodToCall"
>>
>>>>>thinking that would help give the idea of what's going on, but
>>
>>that
>>
>>>>>was
>>>>
>>>>probably
>>>>
>>>>>more
>>>>>confusing).
>>>>>
>>>>>--
>>>>>Rick
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
> ---------------------------------------------------------------------
> 
>>>>>To unsubscribe, e-mail:
> 
> struts-user-unsubscribe@jakarta.apache.org
> 
>>>>>For additional commands, e-mail:
>>
>>struts-user-help@jakarta.apache.org
>>
>>>>>
> ---------------------------------------------------------------------
> 
>>>>>To unsubscribe, e-mail:
> 
> struts-user-unsubscribe@jakarta.apache.org
> 
>>>>>For additional commands, e-mail:
>>
>>struts-user-help@jakarta.apache.org
>>
>>>>
>>>>
>>>>
>>---------------------------------------------------------------------
>>
>>>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>>For additional commands, e-mail:
> 
> struts-user-help@jakarta.apache.org
> 
>>>>
>>---------------------------------------------------------------------
>>
>>>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>>For additional commands, e-mail:
> 
> struts-user-help@jakarta.apache.org
> 
>>>
>>>
>>>
> ---------------------------------------------------------------------
> 
>>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>>
>>>
> 
> ---------------------------------------------------------------------
> 
>>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Mime
View raw message