Hi Jos & Thorsten,

I am sorry that I have not thanked you before for your help.

Thank you again

Regards

Peter

On 27/06/2013 13:39, Thorsten Scherler wrote:
On 06/27/2013 02:32 PM, Jos Snellings wrote:

Hi Jos,

nice post! Small enhancement see above.

Hi Peter,

In the sitemap you have access to request parameters via Jexl:


<map:match pattern="enquiry">
      <map:generate type="someGeneration">
             <map:parameter name="from" 
value="{jexl:cocoon.request.parameter.fromname}"/>

          ...


However, it may be far more convenient to use the HttpRequest, as it is exposed 
in different ways:

1. if you want to send your user's inputs to a controller to handle them as in:


 <map:match pattern="enquiry">
            <controller:call controller="rest-controller" 
select="some.package.EnquiryController">

            </controller:call>
        </map:match>

The http request is accessible by just declaring it with the annotation @Inject:

   @Inject
    private HttpServletRequest request;


Here you can do directly

    @RequestParameter
    private String fromname;

salu2


In your "doPost" method (or even doGet) you can use the request:

String fromName = request.getParameter("fromname");



Instead of sending the input to a controller, it may happen that there is little to control, and you just want to do a model generation as a response.
In that case:

if you are declaring:
public class SomeViewGenerator extends AbstractSAXGenerator {

You may override the "setup" member :


public void setup(Map<String, Object> parameters) {
try {

    request = HttpContextHelper.getRequest(parameters);


The setup member is just called at pipeline setup, and when this happens in a web application context, the http request is just one of the parameters.


I hope this little expose helps,
Jos













































On Thu, Jun 27, 2013 at 10:32 AM, Peter Sparkes <[email protected] 
<mailto:[email protected]>> wrote:

    Hi,

    I want to use a html5 form to pass values into my sitemap eg

        <form action="enquiry" method="?" >
            <input type="text" name="fromname"  placeholder="Your Name"   
required=''/>

    How do I pass "fromname" into "enquiry"

    Regards

    Peter

    ---------------------------------------------------------------------
    To unsubscribe, e-mail: [email protected]
    <mailto:[email protected]>
    For additional commands, e-mail: [email protected]
    <mailto:[email protected]>




--
We should be careful to get out of an experience only the wisdom that is
in it - and stay there, lest we be like the cat that sits down on a hot
stove-lid.  She will never sit down on a hot stove-lid again - and that
is well; but also she will never sit down on a cold one any more.
        -- Mark Twain


--
Thorsten Scherler <scherler.at.gmail.com>
codeBusters S.L. - web based systems
<consulting, training and solutions>

http://www.codebusters.es/

Reply via email to