user1819548
user1819548

Reputation: 41

How to pass a parameter in URL when a form is submitted in Struts 2?

I am doing a project in Struts 2 where I need of setting a parameter in URL, like the user parameter in below link.

I want this parameter to be passed when I click a form submit button, and not any links separately. I know how to do this with <s:url>, but that way I need to create a link instead of a form submit.

Can someone please help me with a code sample how to do this?

I know there's a way to do it with HTML or Struts 1, but how to do it with Struts 2? If there is a way to do this in struts.xml, please explain with an example.

<form action="/example/xyz.action?user=george" method="POST">

Upvotes: 2

Views: 16701

Answers (2)

Roman C
Roman C

Reputation: 1

It's possible if you use <s:url> and <s:form> tags.

<%@ taglib prefix="s" uri="/struts-tags" %>

<s:url id="xyzUrl" action="xyz" includeContext="false">
  <s:param name="user" value="george"/>
</s:url>
<s:form name="xyzForm" action="%{xyzUrl}" method="POST">

Upvotes: 6

Jaiwo99
Jaiwo99

Reputation: 10017

try this:

<s:form action="xyz.action" method="GET">
    <s:hidden name="user" value="george"/>
    // other fields
</s:form>

method="GET" will show your parameter on the url, <s:hidden name="user" value="george"/> will take your parameter.

here is also an example for you Example

Upvotes: 8

Related Questions